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

上视频:

崩溃视频

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

GIF图使微信卡死闪退-RadeBit瑞安全
GIF图使微信卡死闪退-RadeBit瑞安全
GIF图使微信卡死闪退-RadeBit瑞安全

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

挨个排除问题

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

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

GIF图使微信卡死闪退-RadeBit瑞安全

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

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

GIF图使微信卡死闪退-RadeBit瑞安全

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

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

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

崩溃原因

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

1、递归锁os_unfair_lock

GIF图使微信卡死闪退-RadeBit瑞安全

2、Dispatch Queue崩溃

GIF图使微信卡死闪退-RadeBit瑞安全

3、KSCrash Exception崩溃

GIF图使微信卡死闪退-RadeBit瑞安全

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

上原图

点击下载