不知道大家有没有发现,这几天千问通义的分享文案悄悄改了,仔细看每个字都多了“一点”,并且这个点并无法单独选中。
![]()
注意每个字的上、下方有额外的点
原理探究
把这个字转为Unicode看看,发现这是两个字符,这个点的unicode编码是0308
![]()
拿去unicode官网查一下,找到这个字符对应的区域
可以看到0300-036F这个区间,是属于“组合附加符号”,意思就是这些字符可以附加到任何文字上,让他们看起来就是一体的。
并且这是属于可见但不占位的字符,所以无法被选中。
![]()
知道了这个,那我们就可以为所欲为的造“异形字”了
![]()
千问为什么要这么做?
目的只有一个,那就是尽可能的绕过社交平台的敏感词检测,防止被封杀
扩展:还有哪些被非法使用的字符
康熙部首
这个此前在小红书看到还蛮多人用的,效果如图所示
如果你不换字体就不会发现这些字它不是常用字
![]()
小红书上的异形字
![]()
短信中经常出现
图里标出来的不是现代汉语,属于康熙部首,这两者在unicode是不同区域,由于康熙部首中有大量和现代汉语相同的字(但编码不同),所以就可以利用这点进行替换文字
是不是有同学抱怨手机短信设置了关键字但还是有没拦住的,现在知道原理了吧。
零宽字符
零宽,就是没有宽度,看不见(代表有200B、200C、200D、FEFF)
为啥特地提这个呢?
因为很多很多的程序过滤使用正则表达式\s+,但是\s+只会过滤空格、水平/垂直制表符、换行、回车和换页符。
所以在正常字符中加入零宽字符,人眼既看不见,又能绕过审核程序
控制符
看过图片木马科普那期的同学应该很熟悉了。顾名思义,控制符可以控制文本的显示方向。而如果程序没处理好,就可以制造出如图不一致的消息
同样,如果审核系统是正则匹配\s+,那一样无法过滤掉该类字符,导致关键词无法命中

同一条消息,安卓显示51,苹果显示15
其他
像全角字母数字、数学字母、同形字母、相似汉字这些我就不举例了,这些应该是大家知道得最多的“骗过程序但是人又看得懂的手段”。
值得一提的是,20年的时候还有使用 rn = m 来伪造微软域名,与汉字中“米果”可谓异曲同工
![]()
真假微软名称
本期解析就到这了,如果有什么想看的可以评论区给我留言
参考资料(#替换为.)
中文字符Unicode编码范围
lddgo.#et/string/cjk-unicode
unicode标准
unicode#org/charts/
千文用到的组合附加符号
unicode#org/charts/PDF/U0300.pdf
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com
