苹果用户怎么会被一张GIFdnf进图卡死微信闪退

GIF表情引发微信闪退?这里有最强技术分析|异常|GIF|崩溃_新浪科技_新浪网
& 滚动新闻 &&正文
GIF表情引发微信闪退?这里有最强技术分析
雷锋网按:5月17日左右,微信群中出现了可使 iOS 版微信闪退的GIF表情,雷锋网今早报道了关于该事件的大致情况。5月26日傍晚,360安全研究员宋申雷对雷锋网(公众号:雷锋网)表示,微信知道这个漏洞两周了,但是拦截策略依然不行,第一个crash出现时就对样本做了hash 拦截,这都两周了,改一个字节的版本都有多少个了。此外,他还指出,现在不在原图改字节了,直接把有漏洞的最后一帧构造到任意的GIF中。为了更好地促进读者了解其中的机制,360NirvanTeam对于此事件进行了具体的技术分析。本文作者「360涅槃团队的安全研究员王兆威」,授权雷锋网发布。一、背景情况5月17日起,在各个微信群中流传着一个天线宝宝的GIF表情。在iOS版的微信上,只要打开了包含这个GIF表情的聊天窗口,就会造成微信闪退。在进行具体分析之前,对崩溃原因进行了猜测:(1)iOS系统自带GIF解析功能存在问题;(2)微信自己实现GIF解析的功能,由于对输入数据的校验不严格,导致异常。经过测试,发现iOS版QQ不受影响,因此可以排除iOS的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 = 0x0000,截断成unsigned int后为0,这就导致 v10 – 1 – v21 为负数,作为memset第三个参数,相应的unsigned int形式就是一个很大的正数。在memset时,就会导致崩溃,这是第二个问题。三、总结这个问题的根本原因是由于微信实现了自己的GIF解析功能,但由于对输入数据的校验不严格,导致异常的数据被解析,引起崩溃。在5月17日当天,这个GIF开始流传后,微信似乎在服务器端做了屏蔽,使得这个GIF无法被正常接收。但我们只要随便修改一下GIF中的任意一个字节,就能绕过这个屏蔽措施。同时由于iOS应用上架需要经过苹果审核,需要额外耗费一定时间。这就使得这个Bug即使修复后,所有用户也无法立刻更新。目前最新的iOS微信6.5.8版本仍然存在崩溃的问题。
现在我们正一步步朝着这个方向前进,一些“简单粗暴”的工作正在...
造假“文明”也不可阻挡地蔓延至互联网浪潮,不过随着黑色交易的...
早在光圈直播倒下之后,关于直播死亡潮的说法就一直甚嚣尘上。请登陆后使用
只需一步,快速开始
请完成以下验证码
请完成以下验证码
吧友自助信息发布区,请自行甄别
查看: 2883|回复: 8
微信里有个GIF动画,3秒后自动闪退微信,这是什么梗?
头像被屏蔽
刚刚群里有人发了一下这个gifGIF,没想到3秒后微信自己闪退,试了几次,屡试不爽,什么梗?能让我系统自己闪退?
(5.32 KB, 下载次数: 10)
23:15 上传
(5.25 KB, 下载次数: 7)
23:15 上传
该换手机了
头像被屏蔽
真的,3秒后微信闪退,用的是苹果6,系统10.3.1。
头像被屏蔽
真的,3秒后微信闪退,用的是苹果6,系统10.3.1。
还有一个苹果手机自动卡死的小视频
原图是个天线宝宝的GIF&&现在被封了 苹果收不到& &估计有人把代码提出来插到其他GIF里面了
<p id="rate_716" onmouseover="showTip(this)" tip="谢谢你的解答,让我茅塞顿开&果果 + 1
" class="mtn mbn">
<p id="rate_526" onmouseover="showTip(this)" tip="你的帖子对我太有用了,太谢谢你了&果果 + 1
" class="mtn mbn">
渣厂渣机,连个GIF和视频都放不鸟
调用接口吧,我也不太懂
Powered byGIF表情引发微信闪退?这里有最强技术分析
5 月 17 日左右,微信群中出现了可使 iOS 版微信闪退的GIF表情,雷锋网(公众号:雷锋网)今早报道了关于该事件的大致情况。 5 月 26 日傍晚, 360 安全研究员宋申雷对雷锋网表示,微信知道这个漏洞两周了,但是拦截策略依然不行,第一个crash出现时就对样本做了hash 拦截,这都两周了,改一个字节的版本都有多少个了。此外,他还指出,现在不在原图改字节了,直接把有漏洞的最后一帧构造到任意的GIF中。为了更好地促进读者了解其中的机制,360NirvanTeam对于此事件进行了具体的技术分析。本文作者「 360 涅槃团队的安全研究员王兆威」,授权雷锋网发布。一、背景情况5 月 17 日起,在各个微信群中流传着一个天线宝宝的GIF表情。在iOS版的微信上,只要打开了包含这个GIF表情的聊天窗口,就会造成微信闪退。在进行具体分析之前,对崩溃原因进行了猜测:(1)iOS系统自带GIF解析功能存在问题;(2)微信自己实现GIF解析的功能,由于对输入数据的校验不严格,导致异常。经过测试,发现iOS版QQ不受影响,因此可以排除iOS的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 = 0x0000,截断成unsigned int后为0,这就导致 v10 – 1 – v21 为负数,作为memset第三个参数,相应的unsigned int形式就是一个很大的正数。在memset时,就会导致崩溃,这是第二个问题。三、总结这个问题的根本原因是由于微信实现了自己的GIF解析功能,但由于对输入数据的校验不严格,导致异常的数据被解析,引起崩溃。在 5 月 17 日当天,这个GIF开始流传后,微信似乎在服务器端做了屏蔽,使得这个GIF无法被正常接收。但我们只要随便修改一下GIF中的任意一个字节,就能绕过这个屏蔽措施。同时由于iOS应用上架需要经过审核,需要额外耗费一定时间。这就使得这个Bug即使修复后,所有用户也无法立刻更新。目前最新的iOS微信6.5. 8 版本仍然存在崩溃的问题。
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
网友热评的文章相关软件 /中文/ /英文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
10.0M/中文/5.3
50.8M/中文/.9
2.6M/中文/6.5
5.4M/中文/3.5
1.4M/中文/7.6
1.3M/中文/8.2
3.1M/中文/6.6
闪退gif表情包是最近上玩的非常火的一个表情,这个表情可以跟朋友恶作剧让朋友的闪退,只要读秒三秒钟,朋友的聊天界面还在你发的表情窗口的话就会导致他的微信闪退。目前西西测试的结果是ios系统会闪退,安卓的貌似没反应,大家想要玩这个表情的可以试试。微信闪退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 = 0x0000,截断成unsigned int后为0,这就导致 v10 C 1 C v21 为负数,作为memset第三个参数,相应的unsigned int形式就是一个很大的正数。在memset时,就会导致崩溃,这是第二个问题。相关视频:微信闪退gif怎么处理:(1)图片中的什么内容触发的崩溃?二分法挨个测试,定位EE的数据触发了崩溃。具体数据如下:然后,我们随机选取任意一个gif表情包,把这块内容插进去~震惊!微信崩溃啦! 不删除聊天记录没法打开微信对话啦!!(2)崩溃是微信特有的嘛?把这个天线宝宝的表情包扔进了浏览器、qq、微信内嵌网页,都没有产生崩溃。这崩溃是微信聊天特有的。。。
安卓官方手机版
IOS官方手机版
微信闪退gif表情包 gif完整版
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。热门搜索:
您的位置: -&
软件教程分类查找
非常抱歉!2345软件大全没能为您提供完善服务,万分感谢能得到您的指点!
您的建议:
第二章 通讯相关
第三章 下载同步
第四章 网络设置
第五章 铃声视频
第六章 个性优化
第七章 拍摄技巧
第八章 安全设置
第九章 实用技巧
第十章 相关问题
第十一章 其他设置
第二章 网络共享
第三章 同步传输
第四章 个性优化
第五章 实用技巧
第六章 相关问题
精品软件课程
人气:360527
苹果iOS是由苹果公司开发的手持设备操作系
人气:113459
Android(安卓)操作系统是一种以Linux为基
人气:3901
支付宝是全球领先的第三方支付平台,成立于
人气:2320
京东(JD.com)是中国最大的自营式电商企业
小游戏推荐
苹果手机怎么查看GIF动态图片
出处:苹果园
人气:25387
核心提示:iOS 用户都有一个「与生俱来」的痛苦:原生相册不支持 GIF 动图。从最基本的说起,GIFwrapped 是一个 GIF 看图工具。在微博上搜集的各种精彩动图,存进原生相册之后没法看,这时用它就能轻松搞定。
  iOS 用户都有一个「与生俱来」的痛苦:原生相册不支持 GIF 动图。
  从最基本的说起,GIFwrapped 是一个 GIF 工具。在微博上搜集的各种精彩动图,存进原生相册之后没法看,这时用它就能轻松搞定。
  这可能还不够吸引你。那么内置的搜索功能又如何?从此互联网上的海量 GIF 动图都能收入掌中。来看看我搜索「Marvel」的结果,够给力吧?
  GIFwrapped 还支持 drop box 同步。这意味着你的 GIF 图库能够多设备同步,也意味着只要把 GIF 存进特定的 drop box
文件夹,它就能出现在 GIFwrapped 里。
  此外,GIFwrapped 还能抓取 Twitter 时间线上的 GIF 动图。当然,我想这个功能对大多数人来说基本等于不存在啦。
相关教程推荐
相关软件推荐
资源统计:无插件软件:186450个 无病毒软件:186763个 昨日已处理142个带插件、病毒的软件
本站总软件:186763个 软件总下载次数:22.824亿次
软件教程文章:103106篇 总浏览次数:3.363亿次

我要回帖

更多关于 微信打赏 苹果用户 的文章

 

随机推荐