一张GIF引发的微信崩溃

2017-05-25 1745998人围观 ,发现 49 个不明物体 终端安全

*本文原创作者:_Y本文属FreeBuf原创奖励计划,未经许可禁止转载

今早,朋友发了一个表情给我,看下面,就是这个。。
 timg2.jpg

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

上视频:

崩溃视频

  

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

U8KV6[P4G$4G6]H]O`S)XR3.png

8FU3PM3CJAR}09]1@4J(VNP.png CY]EVLT}`C7(1C5OADXGU]1.png

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

挨个排除问题

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

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

~F8T{C@{XM%CIG_]SVTV~@W.png

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

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

timg (1).jpg

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

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

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

崩溃原因

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

1、递归锁os_unfair_lock

1.png

2.png

2、Dispatch Queue崩溃

3.png

3、KSCrash Exception崩溃

4.png

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

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

*本文原创作者:_Y本文属FreeBuf原创奖励计划,未经许可禁止转载

这些评论亮了

  • 360安全卫士 回复
    样本不行啊
    )50( 亮了
  • 马化腾 回复
    这么严重的bug,测试团队集团扣工资
    )44( 亮了
  • freebug_n (4级) You hava no body! 回复
    TX表示给予作者0.1元,以兹鼓励!!
    )25( 亮了
  • JackFree (8级) 冒个泡,表示我还关注着FB······ 回复
    我去,这下可以好好玩一把啦,伪装成红包一打一个准。
    )16( 亮了
  • JackFree (8级) 冒个泡,表示我还关注着FB······ 回复
    安卓测试没影响,苹果的真闪了。
    )13( 亮了
发表评论

已有 49 条评论

取消
Loading...
css.php