转自:看雪学院,作者:obaby

小编发了《最新!用一张图让苹果手机关机》,只要打开这张图片,就可以导致iphone手机关机重启。今天看雪论坛(bbs.pediy.cm)就有小伙伴 obaby 和 exchen(陌陌安全)分析出来了,让我们一起来看看吧!

作者:obaby

原文链接:https://bbs.pediy.com/thread-251601.htm

刚看到这个的时候就尝试了一下,嗯,很成功,重启了~~

010编辑器打开图片文件会发现少了一部分数据。

对比正常的jpeg文件:

一个典型的数据格式为:

// 图片起始

开始猜测是否是由于缺少了结束标记导致的,于是我找了一张图。

去掉了最后的结束标记,事实证明并没有导致崩溃,但是却意外发现,如果只删除最后的结束标记会导致微信安卓版无法发送图片,并且安卓自带的相册无法显示图片。

如果发送给朋友则会直接发送失败,一致卡在0%。

并且这个图无法发布到朋友圈。

图片的这个样式其实在网络状态较差的情况下还是挺容易发现类似的现象的,如果网络有问题图片在加载的过程中就会出现只显示一半的情况。那么实际这个图的原始大小应该远大于1.5m应该是丢失了部分数据。按照画面比例实际丢失的数据大约有2/3。

但是至于为什么崩溃猜测可能和系统解析jpeg的库有关,昨晚想调试下,结果发现下载的支付宝咂壳不完整,monkeydev无法正常编译安装,手头也没越狱的设备只好作罢。

猜了一下可能的原因:

  • 图片格式要求jpeg

  • 数据长度

  • 图片的宽高

上午的时候收到消息说现在可以随意构造图片了, 并且发了个图过来。试了一下确实同样会导致重启。对比了一下发现两个图片的数据头部是一样的,也就是说后来的这张图与最开始的图除了图片的数据不一样其他的数据都是一样的。现在还不知道具体是在解析那些数据的时候出现了问题,但是可以肯定的一点是,基于这个文件头可以构造别的图片了。

由于jpeg包含了分辨率,位深度, 单位分辨率相关信息,所以在构造这个图片的时候要保证数据来源图片的分辨率和原始图片的一致:

如果不一致可以使用ps等软件进行格式和分辨率转换。

两者一致之后剩下的工作就比较简单了,就是替换图片的scandata字段。该字段从FFDA(偏移850h)开始,到结尾的FFD9(偏移18CFF0)结束。

建议使用010 editor来进行处理,找到要替换数据的scandata字段,复制,粘贴到旧文件的scandata字段,删除18CFF0之后的数据保存即可。

测试图片链接:http://hlzjc.gdcyl.org/kindeditor/attached/image/20170627/2017062715330265265.jpg

合成之后的效果:

并且这个数据并不是必须是真实的数据,直接权0填充掉scandata也是可以的:

这样一个能让iOS重启的图片就做好了,如果有条件可以找个iOS设备调试下看看具体的崩溃地址,这个崩溃太及时了,系统没有办法记录app的崩溃日志,所以要看崩溃日志貌似也只能调试,等再有时间了拿真机去调试下看看。

参考链接: https://blog.csdn.net/shelldon/article/details/54144406

原始地址:https://bbs.pediy.com/thread-251582.htm

作者:暗夜盗魔(看雪ID)

原文链接:https://bbs.pediy.com/thread-251601.htm

昨天看到一个贴子:一张图片能让 iOS 系统重启,通过微信等社交软件可以快速进行传播。对这张图片非常感兴趣,于是开始研究,通过分析文件结构,发现 WechatIMG13720 1.jpg 样本文件有三个特点:

(1) 对比其他照片多了一个 AROT 的结构,这个结构很可疑,信息如下:

只有 iPhone X 等高端机型拍摄的照片才会有 AROT 结构,而 iPhone 6 等低端的机型拍摄的照片没有 AROT 结构,可能出 iPhone 6 那时苹果还没加这类的功能。

(2) Exif 结构里的 ifdMainImage,找到 ExifTag 为 247, 有一个名 usValue,这个值必须要是 1, 有时拍照保存的是 6, 不会触发漏洞,这个值和图片的显示方式有关。

(3) 样本图片之所以显示不完整,是因为scanData 数据被截断,而且没有结束标记,正常的 jpg 图片,最后是有结束标记(FF D9),但是样本文件却没有。

通过以上的三个特点,判断造成系统重启的原因是,由于图片被截断,系统在处理 AROT 结构时发生了错误。如果要构造一个能让系统重启的图片,使用 iPhone X 拍照,使用 010 Editor 打开文件,查看确认 Exif -> ifdMainImage -> ExifTag(247) -> usValue 为 1, 然后删除最后的结束标记(FF D9),再把 scanData 至少删掉一半的数据,保存为新的图片文件,发送给微信好友,点击查看原图系统马上重启。

相关参考资料

  • http://www.hackerfactor.com/blog/index.php?/categories/1-Image-Analysis/P2.html

  • https://www.media.mit.edu/pia/Research/deepview/exif.html

  • Author: exchen

- End -

word填充图片如何保持和原图比例一致_【为什么一张图片就能苹果手机重启?】...相关推荐

  1. word填充图片如何保持和原图比例一致_技术分析 | 为什么一张图片就能苹果手机重启...

    昨天,小编发了<最新!用一张图让苹果手机关机>,只要打开这张图片,就可以导致iphone手机关机重启.今天看雪论坛(bbs.pediy.cm)就有小伙伴 obaby 和 exchen(陌陌 ...

  2. word中图片为嵌入式格式时显示不全_打印Word图片显示不全 Word2007图片显示不全解决方法...

    打印Word图片显示不全 Word2007图片显示不全解决方法,平凡的世界平凡的你,努力学习使我们变得不平凡,今天要介绍的知识是打印Word图片显示不全的相关知识,你准备好学习打印Word图片显示不全 ...

  3. word中图片为嵌入式格式时显示不全_“word嵌入式图片不显示的解决办法”的解决方案...

    解决方案 方案一: 1.使用word时,很多时候都会需要插入图片时显示不出来的问题,如图: 2.如果只有一张图片的话,可以设置图片版式,只要不是嵌入型即可,比如设置成浮于文字上方,即可显示,拖动一下图 ...

  4. word中图片为嵌入式格式时显示不全_图片在word中显示不全怎么处理_word图片显示不全怎么办-win7之家...

    我们在编辑word文档时,会需要插入一些图片来做为装饰或者用来标识,也会出现插入的图片显示不全的情况,要是遇到这种情况该怎么办,那么图片在word中显示不全要怎么处理呢,下面小编给大家分享图片在wor ...

  5. winform 图片压缩大小为原图的一半_这款压缩工具让我找得好辛苦

    今天得先给大家诉个苦. 大家可以看到,在黑哥这里文章中,GIF 动图和图片是比较多的. 这是为了给大家更清楚的展示软件的效果或者操作步骤,毕竟简单的文字陈述肯定没有来张图那么直观. 但是呢,微信公众号 ...

  6. 等比例缩放图片并填充图片为正方形(python附代码)

    等比例缩放图片并填充图片为正方形 看实现的效果 代码 看实现的效果 之前的 836x662 之后的 300x300 且图片中的塔克斯居中 代码 import os import cv2 import ...

  7. html标签图片填充背景色快捷键,word填充颜色的快捷键是什么?

    在word 里怎样填充颜色 打开Word文档,此时页面中的背景颜色为"白色",需要将背景颜色填充为其他颜色. 然后点击页面上方工具栏中的"设计"选项. 然后在& ...

  8. iText导出pdf、word、图片

    一.前言  在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示 ...

  9. Python 爬取百度图片的高清原图

    # coding=utf-8 """ 爬取百度图片的高清原图 Author : MirrorMan Created : 2017-11-10 ""&q ...

最新文章

  1. graphql是什么_为什么GraphQL是避免技术债务的关键
  2. 实验6-选第K小元素
  3. Python高级教程-生成器
  4. python界面开发工具-python图形界面开发用什么
  5. 才26岁!94年小姐姐,已任985名校副教授!
  6. uefi+guid分区与legacy+mbr分区_WIN10下如何将 MBR 分区转换为 GPT
  7. Gitee 上线多项 PR 功能优化,进一步提升审查与提交效率
  8. 安装Caffe报错:/usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link
  9. 五十二 常用第三方模块 图形界面
  10. 如何开发一款高大上的android应用的必备知识
  11. [转] 病毒、木马进程查询手册
  12. 常用的公共数据集(一)
  13. flash制作文字笔顺_汉字标准读音与笔顺Flash版
  14. memcached入门使用
  15. python操作redis-sentinel集群
  16. 从今起,我蹲马步,苦练基本功
  17. 计算机cfd教学,规整填料CFD模拟X - 天津大学研究生数字化教学(E-LEARNING)平台.pptx...
  18. 伤寒杂病论.辨太阳病脉证并治(中)
  19. Windows自动开关机及开机音乐
  20. 计算机教育传播理论,-通信传播论文:计算机理论教育探讨

热门文章

  1. 【翻译】可重复可复现的机器学习在生产中的12个要素
  2. JavaScript 对象如此神通广大,我要为它打Call
  3. MATLAB神经网络的汉字字符数字字母的识别
  4. 职称 计算机免试理由,职称计算机考试免试申请表.doc
  5. 支付宝wap支付详情
  6. java重写需要注意的
  7. 360安全卫士hookport.sys简单逆向
  8. 短短7年!网络空间安全学科历程,助力国家安全战略
  9. Spring源码解析之bean的销毁
  10. redis的list数据类型相关命令介绍及使用