| 网站首页 | 综艺 | 真人秀 | 脱口秀 | 访谈 | 选秀 | 纪实 | 搞笑 | 音乐 | 曲艺 | 情感 | 美食 | 旅游 | 益智 | 
您现在的位置: 综艺大全网 >> 搞笑 >> 正文 用户登录 新用户注册
靖佳皇后说明是微信自身的GIF解析功能存在问题           ★★★ 【字体:
靖佳皇后说明是微信自身的GIF解析功能存在问题
作者:佚名    搞笑来源:本站原创    点击数:    更新时间:2018-5-12    

  5月17日起,在各个微信群中传播着一个的GIF脸色。在iOS版的微信上,只需打开了包含这个GIF脸色的聊天窗口,就会形成微信闪退。

  能够看到,残剩的非常数据的部门有10多万个,通过二分法的体例进行测试息争除。具体就是,删除一半后,测试别的一半能否能够导致解体。若是解体了,申明惹起非常的数据在保留的一半中,反之则申明在删除的部门中。

  接下来,这部门非常的数据就会进入sub_100B6CE90函数进行解析。因为ImageWidth为0,导致与ImageHeight相乘后等于0,在new buffer时,传入的大小参数为0,这是第一个问题,但这并不会导致闪退,仍然能够分派一个很小的堆块。

  颠末对相关函数的逆向阐发,最终确定了惹起非常的数据。起首来察看sub_100B6CBF0这个函数,对于GIF中的数据进行轮回查找,若是具有0x21和0xF9,那么当前数据就暗示是一个GraphicControlExtension布局,并接着对GraphicControlExtension数据进行解析。

  而惹起非常的数据中,刚好具有0x2C这个环节的分隔符,导致下述红框中的数据被解析成了一个ImageDescriptor。能够看到,ImageWidth属性为0,ImageHeight属性为0x100。

  从模板解析的环境显示,在38帧一般的图片数据后,呈现了非常的数据。如图所示,因而我们将一般数据部门移除,仅保留非常数据,进行下一步精简。

  惹起解体的代码如下,在else block中,sub_100B6C4F0的感化没有具体跟踪,猜测是进行lzw解压缩,并前往解压缩后的数据长度v21。因为v10 = 0x0,截断成unsigned int后为0,这就导致 v10 – 1 – v21 为负数,作为memset第三个参数,响应的unsigned int形式就是一个很大的负数。在memset时,就会导致解体,这是第二个问题。

  在进行具体阐发之前,对解体缘由进行了猜测:(1)iOS系统自带GIF解析功能具有问题;(2)微信本人实现GIF解析的功能,因为对输入数据的校验不严酷,导致非常。颠末测试,发觉iOS版QQ不受影响,因而能够解除iOS的GIF解析问题。

  若是当前查找到的数据为0x2C,就暗示搜刮到了一个ImageDescriptor,跳出while轮回,进行现实图片数据的解析。这里也就长短常数据的起始位置!

  造假“文明”也不成阻挠地延伸至互联网海潮,不外跟着黑色买卖的...[细致]

  颠末样本精简,我们曾经发觉了惹起非常的数据位置。那么,此刻就需要连系现实的调试,来确定现实惹起非常的数据。以iOS微信6.5.7版为例,解体发生时的挪用栈如下,解体发生于微信内部,申明是微信本身的GIF解析功能具有问题。

  这个问题的底子缘由是因为微信实现了本人的GIF解析功能,但因为对输入数据的校验不严酷,导致非常的数据被解析,惹起解体。

  初始的GIF样本有1MB之多,晦气于定位惹起问题的具体数据,因而我们需要对样本进行精简。通过010 Editor打开原始样本GIF,操纵GIF模板解析,发生解析非常,这就暗示样本GIF的格局具有问题。

  颠末不竭的解除后,发觉非常的数据就鄙人图的紫色部门中。只需带有GIF的图像数据部门带有这些非常数据,就会导致iOS微信闪退。

  雷锋网按:5月17日摆布,微信群中呈现了可使 iOS 版微信闪退的GIF脸色,雷锋网今早报道了关于该事务的大致环境。5月26日薄暮,360平安研究员宋申雷对雷锋网(公家号:雷锋网)暗示,微信晓得这个缝隙两周了,可是拦截策略仍然不可,第一个crash呈现时就对样本做了hash 拦截,这都两周了,改一个字节的版本都有几多个了。此外,他还指出,此刻不在原图改字节了,间接把有缝隙的最初一帧机关到肆意的GIF中。

  此刻我们正一步步朝着这个标的目的前进,一些“简单粗暴”的工作正在...[细致]

  新浪简介┊About Sina┊告白办事┊联系我们┊聘请消息┊网站律师┊SINA English┊通行证注册┊产物答疑

  在5月17日当天,这个GIF起头传播后,微信似乎在办事器端做了屏障,使得这个GIF无法被一般领受。但我们只需随便点窜一下GIF中的肆意一个字节,就能绕过这个屏障办法。同时因为iOS使用上架需要颠末苹果审核,需要额外花费必然时间。这就使得这个Bug即便修复后,所有用户也无法立即更新。目前最新的iOS微信6.5.8版本仍然具有解体的问题。

  为了更好地推进读者领会此中的机制,360NirvanTeam对于此事务进行了具体的手艺阐发。

搞笑录入:admin    责任编辑:admin 
  • 上一个搞笑:

  • 下一个搞笑:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关搞笑
    16岁少女微信误转男网友2千元…
    组图:关晓彤现身活动人气爆…
    茜泉词语益智的意思通过二分…
    刺陵演员表打开这款黄油相机…
    阿呆momoko曲艺音乐是什么当…
    末世之别打宝宝主意目前在苹…
    圭顿财富销售平台293真人秀场…
    苏营格音乐应用软件原标题:…
    联大伟绣花网在11月该产品会…
    xk8378090后脱口秀王自健但应…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)