几乎每过一段时间,iOS上就会出现一些神秘消息“代码”,发送相关文本将导致系统或者聊天APP崩溃。笔者还记得去年在微信上还出现了,发送“15个句号”导致某些品牌的手机卡死的BUG。其中这些多与系统或者程序的文本渲染器有关,而Youtube UP主Tom Scott发现,安卓上也中招了。
简单来说,如图所示的这个“黑点”表情,发送和接收都没有问题,但当点击它的时候,就会造成当前程序卡死崩溃,老外反馈主要是Whatsapp。
Tom Scott分析后发现,这又是一次Unicode的把戏。Unicode是计算机之间传输文本的国际标准,包含数以万计的字符,并且支持N种语言。
不过,在Unicode之中也有一些隐形的字符,比如定义宽度、定义从左向右(从右向左,阿拉伯/希伯来语使用)、定义连接词、定义高低音的代码。这个黑点的“诡计”就在于,使用OBJ编码后发现,我们看到的黑点之后其实还有一长串字符,编造者使用宽度为0、且定义左右顺序的字符进行了隐藏。
当你点击时,安卓的文本渲染器需要判断你点击的是哪个,这个过程存在BUG,导致程序崩溃。
所以,严格来讲,这是安卓系统的BUG,理论上对于任何安卓消息应用都有效,不仅仅是Whatsapp;第二,其实黑点只是创造者利用的一个表情而已,如果掌握了原理,这个表情可以任意替换。
-
iOS
+关注
关注
8文章
3403浏览量
155788 -
安卓
+关注
关注
5文章
2189浏览量
60637 -
BUG
+关注
关注
0文章
156浏览量
16324
发布评论请先 登录
LAT1596一文说明白STM32G4双Bank启动与升级
技术探讨|直线电机模组卡死原因与处理方案
LAT1596 一文说明白 STM32G4 双 Bank 启动与升级
实战排障|RK平台启动卡死、SPL崩溃,两行日志直接定位DDR硬件死穴!
华阳集团荣获前程无忧2026杰出雇主称号
CW32F030的FLASH存储器支持擦写PC页的保护功能
睿擎平台CoreDump实战指南:系统崩溃现场的完美捕获 | 技术解析
一个“黑点”表情,会造成当前程序卡死崩溃?
评论