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

【日常】如何将微信中对方所撤回的消息恢复?——电脑PC端微信教程:附源码[通俗易懂]1前言寻找微信撤回的图片是不少人一直在寻找的方法但苦于在网上一直找不到结果因此本文提出了一种可以找到微信撤回图片的方法。区别于网上其他的不可用代码,本文能成功恢复!2原理之前的说法是,工程师并没有真正把撤回的图片删除,而是加密后藏起来了。其实这样说并不严谨,经过后续测试,发现PC端的确如此,而手机端(Android)撤回的图片是有删除的,但是删除的不干净。2.1PC端微信所有接收到的图片都储在:C:\Users\你的用户名\Documents\WeChatFiles\wxid_你

大家好,又见面了,我是你们的朋友全栈君。

1 前言

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

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

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

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

2 原理

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

2.1 PC端

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

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

里面有一堆以.dat为后缀的文件,他们大小不一,都经过了加密。而加密的方法便是对字节逐一解密。
在这里插入图片描述

加密后的字节 = 原始字节 ^ 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 调用我们写的恢复函数:

在这里插入图片描述

3.2 源文件:

在这里插入图片描述

3.3 恢复文件:

在这里插入图片描述

在这里插入图片描述

4 附上源码:

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149793.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lcd电子时钟怎么调_keil液晶显示程序

    lcd电子时钟怎么调_keil液晶显示程序第11周上机程序-LCD12864显示-操作示范结果展示取模软件软件图片软件下载百度网盘下载钉钉群下载软件使用方法(文字取模)软件使用方法(字符取模)程序修改导入原本程序修改原程序修改文字修改学号完整程序结果展示取模软件软件图片软件下载百度网盘下载链接:link.提取码:houh钉钉群下载软件使用方法(文字取模)点击C51后字符便会自动生成。保存为记事本形式,如下所示软件使用方法(字符取模)一样的操作,输入学号,生成16进制数组,保存于桌面即可。程

    2022年10月8日
    3
  • SQL Server 中的逻辑读与物理读

    SQL Server 中的逻辑读与物理读

    2021年11月24日
    52
  • C# LDAP认证登录

    http://blog.csdn.net/lnas_01/article/details/43987259publicclassLDAPHelper{stringldapUrl="LDAP://***.***.48.110:389/dc=***,dc=com";stringldapUserName="cn=root,dc=***,dc=com";…

    2022年4月9日
    54
  • matlab中fprintf函数的用法举例_matlabfopen函数的用法

    matlab中fprintf函数的用法举例_matlabfopen函数的用法fprintf函数在matlab具体应用clcclearage=18;name=’小飞’;fprintf(‘%s的年龄是%d。\n’,name,age)说明:\n表示换行示例clcclearsymsabna=5;b=4;n=30;D(1)=a+b;D(2)=(a+b).^2-a*b;fori=3:nD(i)=D(i-1)*(a+b)-a*b*D(i-2);fprint.

    2022年10月19日
    2
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月30日
    10
  • 卡巴斯基kav为什么总提示程序已经断开连接「建议收藏」

    卡巴斯基kav为什么总提示程序已经断开连接「建议收藏」用着用着就出现了程序已经断开连接的提示.要求重启产品.请问为什么会这样?该如何解决?这是KIS的一个BUG,我也遇到过。与楼上说的授权啊地震啊都没有关系。下载新版本的KIS就能解决。http://www.kpfans.com/bbs/index.php这是卡巴斯基爱好者论坛,里面有几乎有所有的新旧版本。 

    2022年8月20日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号