首页 > 软件下载 > 装机必备

微信闪退动态表情包大全

2024-10-01

资源介绍

微信闪退动态表情图是一款十分有意思也是有自主创新使用价值的表情图,这款表情图来源于是在每个微信圈中广为流传着一个天线宝宝的GIF神情。在iOS版的微信上,只需打开了包括这一GIF神情的交流对话框,就会导致微信闪退。诸位朋友有没有感觉特别的奇妙,下边就为各位产生详细介绍。

微信闪退环境状况:

5月17日起,在每个微信圈中广为流传着一个天线宝宝的GIF神情。在iOS版的微信上,只需打开了包括这一GIF神情的交流对话框,就会导致微信闪退。

在开展深入分析以前,对崩溃缘故做好了猜想:(1)iOS系统软件内置GIF解析作用存在的问题;(2)手机微信自身完成GIF解析的作用,因为对键入数据的校检不严苛,导致出现异常。

通过检测,发觉iOS版QQ不受影响,因而可以清除iOS的GIF解析难题。

微信闪退gif基本原理:

1、样版精减

原始的GIF样版有1MB之多,不利精准定位造成难题的实际数据,因而他们必须对样品开展精减。根据010 Editor开启初始样版GIF,运用GIF模版解析,产生解析出现异常,这就表明样版GIF的文件格式存在的问题。

从模版解析的状况表明,在38帧一切正常的照片数据后,发生了出现异常的数据。如下图所示,因而人们将一切正常数据一部分清除,仅保存出现异常数据,开展下一步精减。

可以见到,剩下的出现异常数据的一部分有10多万个,根据二分法的形式开展检测和清除。实际便是,删掉一半后,检测此外一半是不是可以导致崩溃。

假如崩溃了,表明造成出现异常的数据在保存的一半中,相反则表明在删掉的一部分中。

通过持续的清除后,出现异常的数据就在下面的图的蓝紫色一部分中。只需含有GIF的图象数据一部分含有这种出现异常数据,就会导致iOS微信闪退。

2、调节剖析

通过样版精减,大家早已发觉了造成出现异常的数据部位。那麼,如今就必须联系实际的调节,来明确具体造成出现异常的数据。

以iOS手机微信6.5.7版为例子,崩溃产生时的启用栈如下所示,崩溃产生于手机微信內部,表明是手机微信本身的GIF解析作用存在的问题。

通过对相关函数的逆向分析,最后明确了造成出现异常的数据。最先来观察sub_100B6CBF0这一涵数,针对GIF中的数据开展循环系统搜索,假如存有0x21和0xF9,那麼当今数据就表明是一个GraphicControlExtension构造,并然后对GraphicControlExtension数据开展解析。

假如当今搜索到的数据为0x2C,就表明检索到一个ImageDescriptor,跳出来while循环系统,开展具体照片数据的解析。这儿也就是出现异常数据的起止部位!

一切正常的帧数据的ImageDescriptor数据如下所示:

而造成出现异常的数据中,正好存有0x2C这一重要的分节符,导致以下白框中的数据被解析变成一个ImageDescriptor。可以见到,ImageWidth特性为0,ImageHeight特性为0x100。

下面,这一部分出现异常的数据就会进到sub_100B6CE90涵数开展解析。因为ImageWidth为0,导致与ImageHeight乘积后相当于0,在new buffer时,传到的尺寸主要参数为0,这也是第一个难题,但这并不会导致卡屏,依然可以分派一个较小的堆块。

造成崩溃的编码如下所示,在else block中,sub_100B6C4F0的功效沒有实际追踪,猜想是开展lzw压缩包解压,并回到压缩包解压后的数据长短v21。

因为v10 = 0x0000010000000000,断开成unsigned int后为0,这就导致 v10 – 1 – v21 为负值,做为memset

image.png
展开全部

版权声明

1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!

2 本站资源下载后不得用于商业用途,所有资源请在下载后24小时内删除。

3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。

4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784

最近更新

热门排行

最需网客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端