一张GIF引发的微信崩溃

  • A+
所属分类:安全闲碎
一张GIF引发的微信崩溃

今早,朋友发了一个表情给我,看下面,就是这个。。
一张GIF引发的微信崩溃


<p timg.jpg="" "="" src="http://www.freebuf.com/buf/themes/freebuf/images/grey.gif" alt="一张GIF引发的微信崩溃" width="350 " height="338 " style="box-sizing: border-box; margin-bottom: 10px; font-size: 15px; line-height: 26px; word-wrap: break-word; word-break: break-word; color: rgb(88, 88, 88); font-family: 微软雅黑; white-space: normal; background-color: rgb(255, 255, 255); text-align: center;">


这不是天线宝宝卖萌系列表情包么,正当我看着俩宝宝撞屁股的GIF图寻开心的时候,微信突然卡死闪退了。。然后我打开,又来了第二遍,依旧是卡死闪退。

视频请观看原文

  

于是,从PC微信端找到了天线宝宝表情文件,先扔进010 Editor。。

一张GIF引发的微信崩溃

一张GIF引发的微信崩溃一张GIF引发的微信崩溃

从010 Editor的结果可以看出来,这个表情从第37-38帧中间被插入,40帧之后的文件全部被填充。

挨个排除问题

(1)图片中的什么内容触发的崩溃?

二分法挨个测试,定位 94360-943EE的数据触发了崩溃。具体数据如下:

一张GIF引发的微信崩溃

然后,我们随机选取任意一个gif表情包,把这块内容插进去~

震惊!微信崩溃啦! 不删除聊天记录没法打开微信对话啦!!

一张GIF引发的微信崩溃

(2)崩溃是微信特有的嘛?

把这个天线宝宝的表情包扔进了浏览器、qq、微信内嵌网页,都没有产生崩溃。这崩溃是微信聊天特有的。。。

确定了触发崩溃的原因和场景,接下来我们来找找什么导致的崩溃。

崩溃原因

读取iphone的崩溃异常log。十几个测试崩溃测试的log崩溃的原因并不一样啊,整理了三种最多的崩溃原因。

1、递归锁os_unfair_lock

一张GIF引发的微信崩溃

一张GIF引发的微信崩溃

2、Dispatch Queue崩溃

一张GIF引发的微信崩溃

3、KSCrash Exception崩溃

一张GIF引发的微信崩溃

呵呵。。。分析到此,感觉可以做一串炸弹gif了~ 崩溃的具体原因,仍旧待分析。。

样本链接: https://pan.baidu.com/s/1eRDeXGY 密码: ycur

一张GIF引发的微信崩溃


本文始发于微信公众号(零组攻防实验室):一张GIF引发的微信崩溃

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: