首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

找寻微信撤回的图片

引子

根据@icaca的反馈,WID无法解密PNG、GIF图片,现已支持。

上两篇文章有提到,解密的关键在于寻找magic码。通过magic码与加密的图片异或,即可实现解密。

原始思路

假设:所有的图片都是JPEG格式。

则:magic码 异或 文件头的第一个字节 = JPEG文件头的第一个字节(0xFF)。

这个思路正是WID的核心解密逻辑,可以解密绝大部分图片。问题也很显然,无法解密其他格式的图片。

支持PNG等格式

加密后的图片命名为,我们无法得知这是哪一种格式。最简单粗暴的思路是——猜。

怎么猜?

常见的图片格式都试一下,然后看是否能够打开?

这里取图片的头两个字节,使用首字节计算magic码,然后基于得到的magic解密第二个字节看能否命中JPEG、PNG、GIF等图片文件头的第二个字节。

如果命中,则猜测成功。

参考

https://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files

https://github.com/zhangxiaoyang/WechatImageDecoder

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180518G1XXOO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券