【硬核解析】千问请喝奶茶口令中奇怪但能看懂的字是怎么打出来的

不知道大家有没有发现,这几天千问通义的分享文案悄悄改了,仔细看每个字都多了“一点”,并且这个点并无法单独选中。

注意每个字的上、下方有额外的点

原理探究

把这个字转为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