【日常】如何将微信中对方所撤回的消息恢复?——电脑PC端微信教程:附源码

1 前言

寻找微信撤回的图片是不少人一直在寻找的方法

但苦于在网上一直找不到结果

因此本文提出了一种可以找到微信撤回图片的方法。

区别于网上其他的不可用代码,本文能成功恢复!

2 原理

之前的说法是,工程师并没有真正把撤回的图片删除,而是加密后藏起来了。其实这样说并不严谨,经过后续测试,发现PC端的确如此,而手机端(Android)撤回的图片是有删除的,但是删除的不干净。

2.1 PC端

微信所有接收到的图片都储在:

C:\Users\你的用户名\Documents\WeChat Files\wxid_你的微信ID\FileStorage\Image\日期

里面有一堆以.dat为后缀的文件,他们大小不一,都经过了加密。而加密的方法便是对字节逐一解密。
【日常】如何将微信中对方所撤回的消息恢复?——电脑PC端微信教程:附源码_第1张图片

加密后的字节 = 原始字节 ^ 0x51。为了方便,我们把0x51称作“magic码”。

其中,magic码不一定是0x51,有的机器是0x50。经过一些测试,结论是,magic码与微信号有关,即不同的微信号在同一台机器可能得到不同的magic码,而同一个微信号在不同的机器上得到了相同的magic码。因此,magic码是由微信号或者微信ID计算得来的。

其次,.dat文件是图片,而对于JPEG的图片,其对应二进制的第一个字节是0xFF。

根据此原理,我们使用以下算法进行解密:.dat文件对应二进制的第一个字节 = 0xFF ^ magic码,求magic码。

我们已经知道,如果C=AB,则AC=(AA)B,而AA=0,所以AC=B,即B=A^C。

magic码 = 0xFF ^ 已知.dat文件对应二进制的第一个字节。

3 得到最终的复原方法:

3.1 调用我们写的恢复函数:

【日常】如何将微信中对方所撤回的消息恢复?——电脑PC端微信教程:附源码_第2张图片

3.2 源文件:

在这里插入图片描述

3.3 恢复文件:

在这里插入图片描述

【日常】如何将微信中对方所撤回的消息恢复?——电脑PC端微信教程:附源码_第3张图片

4 附上源码:

https://download.csdn.net/download/weixin_39589455/85300198

你可能感兴趣的:(日常,微信,撤回消息,恢复,电脑端PC,恢复dat)