找回微信撤回的图片(原理分析、工具)

2016-07-12 13:49:41 +08:00
 twoyang

工具

https://github.com/zhangxiaoyang/WechatImageDecoder

分析

8458 次点击
所在节点    程序员
13 条回复
TheLamb
2016-07-12 15:53:15 +08:00
有点意思, lz 挺有专研意识的,以前我也考虑过这个问题,无奈自己不会写代码来解密
chareice
2016-07-12 16:00:50 +08:00
👍赞楼主的探索精神〜
lawlietxxl
2016-07-12 16:18:53 +08:00
看见 lz 是疼逊的,戳中笑点,这不是后院起火了,哈哈
linKnowEasy
2016-07-12 16:19:03 +08:00
想问下 Mac 和 iOS 微信怎么使用?
lawlietxxl
2016-07-12 16:19:32 +08:00
不过主要还是赞赞赞
Ellison
2016-07-12 16:27:14 +08:00
发现我居然已经 Star 过了
annielong
2016-07-12 17:31:36 +08:00
有一些清理工具可以看到所有 图片,没有打开的公众号发的图片竟然都有,不知道是什么时候偷偷下载的,怪不得流量跑的快
hitmanx
2016-07-13 10:38:13 +08:00
赞 lz 的分析能力。看到这个地方,有个小疑问:

'''
其实,我们无需关心 magic 码的计算方式。因为,我们可以肯定的是,.dat 文件是图片,而对于 JPEG 的图片,其对应二进制的第一个字节是 0xFF 。

所以,问题变成了,已知:.dat 文件对应二进制的第一个字节 ^ magic 码 = 0xFF ,求 magic 码。所以,问题变成了,已知:.dat 文件对应二进制的第一个字节 ^ magic 码 = 0xFF ,求 magic 码
'''

这儿不应该是 0xFF ^ magic number = first byte of .dat file?另外 XOR 0xFF 就是取反吧,用取反算不知道是不是还会快一些。
ghostsf
2016-07-13 10:39:18 +08:00
没空看 mark 下
twoyang
2016-07-13 16:32:38 +08:00
@lawlietxxl 暴露了...
twoyang
2016-07-13 16:33:45 +08:00
@Ellison 之前发过,但是后来又发现有瑕疵,于是才有了续集...
twoyang
2016-07-13 18:09:08 +08:00
@hitmanx 已修改,谢谢~

对于一个 200KB 左右的图片,分别使用取反和异或测试 10 次。
取反耗时 0.028968716 ;异或,则耗时 0.030300784 。差不太多。

python 的取反,好蛋疼啊: magic = ~(list(buf)[0]) & 0xff
linKnowEasy
2016-07-14 17:48:33 +08:00
感觉会有人有需求 https://github.com/imoldman/wechatNoRevoke Mac 端的方法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/291934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX