-
-
[原创]一张图片在微信中点开让苹果手机重启 的简单分析
-
发表于:
2019-5-29 15:19
21848
-
[原创]一张图片在微信中点开让苹果手机重启 的简单分析
刚看到这个的时候就尝试了一下,嗯,很成功,重启了~~
010编辑器打开图片文件会发现少了一部分数据。
对比正常的jpeg文件:
一个典型的数据格式为:
开始猜测是否是由于缺少了结束标记导致的,于是我找了一张图。
去掉了最后的结束标记,事实证明并没有导致崩溃,但是却意外发现,如果只删除最后的结束标记会导致微信安卓版无法发送图片,并且安卓自带的相册无法显示图片。
如果发送给朋友则会直接发送失败,一致卡在0%。
并且这个图无法发布到朋友圈。
图片的这个样式其实在网络状态较差的情况下还是挺容易发现类似的现象的,如果网络有问题图片在加载的过程中就会出现只显示一半的情况。那么实际这个图的原始大小应该远大于1.5m应该是丢失了部分数据。按照画面比例实际丢失的数据大约有2/3。但是至于为什么崩溃猜测可能和系统解析jpeg的库有关,昨晚想调试下,结果发现下载的支付宝咂壳不完整,monkeydev无法正常编译安装,手头也没越狱的设备只好作罢。
猜了一下可能的原因:
1. 图片格式要求jpeg,
2. 数据长度
3. 图片的宽高
上午的时候收到消息说现在可以随意构造图片了, 并且发了个图过来。试了一下确实同样会导致重启。对比了一下发现两个图片的数据头部是一样的,也就是说后来的这张图与最开始的图除了图片的数据不一样其他的数据都是一样的。现在还不知道具体是在解析那些数据的时候出现了问题,但是可以肯定的一点是,基于这个文件头可以构造别的图片了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!