遍҈布҈互҈联҈网҈的҈神҈秘҈电҈波҈是҈如҈何҈制҈作҈出҈来҈的҈?҈

朋友们,年少时有击穿过评论区的天花板么?

像这样 ↓ ↓

640.png

或者这样 ↓ ↓

640-1.png

这些玩意几年前还挺流行的,相信有不少差友也参与其中复制过。

 那么,在大家复制玩耍的时候,有没有想过这到底是怎么实现的?

在继续介绍前,世超得带大家简单回忆一下 Unicode 编码。

Unicode( 统一码、万国码、单一码 )是计算机科学领域里的一项业界标准,包含字符集和编码方案。

大家都知道,计算机在内部运算和存储的其实都是 0 和 1 ,但是人不可能只看数字,人要看文字,于是大家就建立了一个由数字跟文字互换的对应标准~

比如英文字母 A 对应二进制 0110 0001 ,英文字母 B 对应 0110 0010 等等。

640-2.png

 最开始各国都有各自的编码方案,毕竟都有自己特色文字嘛,但一阵子时间后发现,乱的一匹!

因为同一编码值在不同编码体系中代表不同的字,举个不恰当的例子,小 A 电脑上用的是 ASCII 编码,他发字母 A 给小 B ,而小 B 电脑上用的是 EBCDIC 编码,可能识别成了字母 S ,编码跟解码的方式不同,双方交换信息时就产生了误解。

咱们日常生活中遇到的乱码,也是编码跟解码方式不一致的结果~▼

640-3.png

为了避免麻烦,方便协作,大家就约定用统一且唯一的数字编码标准,这也就是 Unicode 。

Unicode 是一个大家庭,看它名字就知道了,万国码!可不得把所有语言中的字符都吸纳进来么,这就引发了很多有趣的事情。

 文章开头提到的 “ 击穿 ” 屏幕的东西,就是 Unicode 组合字符,它们会附着在前一个非组合字符上。

为了让大家更具象的感受,接下来世超用 Chrome 的开发者工具来帮助演示。

打开浏览器按 F12 即可调出该工具▼

640-4.png

首先我们输入字母 A( \u0041 ) ,然后输入组合字符圆圈  ̊ ( \u030A ),接着将圆圈重复 100 个( repeat( 100 ) )。

我们输入:'\u0041'+'\u030A'.repeat(100)

640-5.png

接着,按下回车,就能看到效果了~

640-6.png

 复制出来 biubiubiu~

640-7.png

组合字符之所以存在主要是为了满足一些语言、文字中的需要,比如中文有声调符号,法文有重音符号,泰文里有声调符号跟母音符号。

640-8.png

其实击穿天花板还不算什么。

 不知道大家以前有没有遇到下面这种套路。

世超撤回了一条消息并亲了你的小脸 ▼

640-9.png

这个 Bug 一出来的时候,可谓是轰动一时,当时各大微信群里大家撤回的不亦乐乎,可惜很快就修复了。

还有那种,艾特他的微信 ID ,艾特出来是倒过来的,举个栗子对方 ID 是:ABCDEF ,但是圈出来变成了:FEDCBA 。

这大概率是 Unicode 控制字符在捣蛋~

 什么是控制字符呢?

像我们用的回车、换行等,对文本进行控制的字符,就叫控制字符。

640-10.png

控制字符中有两个哥们,一个叫 RLO ( \U202E ,强制后续字符从右到左显示 ),一个叫LRO ( \U202D ,强制后续字符从左到右显示 )

来简单感受一下。

第二行翻译过来是 “ 我喜欢你 ” ,我们在开头加一个 RLO ( \U202E ),可以看到文字变成了 “ 你欢喜我 ” 。

640-11.png

控制字符的 “ 玩法 ” 非常多,以前甚至有人用这玩意来伪装木马。

举个栗子,你创建一个 exe 文件,命名为 cdtxt.exe,然后重命名,并在 cd 后面插入一个 RLO 控制字符( 从右到左显示 )。

640.png

这个时候 exe 文件名会倒过来显示成 exe.txt ,看上去就像是一个 txt 文件!~

就像下面这样▼

640-1.png

一般用户乍一看,哪能想到 txt 后缀的文件也能执行起来?结果一打开直接中招。。。

大概就是这么个玩意。

前面提到的,被微信修复的「 撤回消息并亲了你一下 」的效果也是利用这两个控制字符,通过两次调换方向,将一部分文字调换到了系统的 「 撤回了一条消息 」后面显示。

控制字符的存在的原因,想必各位差友已经猜到了,虽然大部分语言的书写习惯是从左到右写,但是有些语言是从右到左的,比如阿拉伯语。

 最后世超再教大家一手好玩的吧:利用神秘代码跟朋友表明心声。

首先,找一个中文跟 Unicode 互换的网站,将想说的话转换为 Unicode 。

640-2.png

发给朋友,让 TA 长按翻译,再点击翻译进行重译。

640-3.png

 TA 就能听到你的心声了~

640-4.png

哦,对了,不要发给不解风情的人。

否则可能会得到一个奇怪的结果  (╯ ̄Д ̄)╯╘═╛ 

640-5.png

相关文章

转自:差评君

未经允许请勿转载:程序喵 » 遍҈布҈互҈联҈网҈的҈神҈秘҈电҈波҈是҈如҈何҈制҈作҈出҈来҈的҈?҈

点  赞 (3) 打  赏
分享到: