【日常】如何将微信中对方所撤回的消息恢复?——电脑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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IT公司速查手册数据找回来了.「建议收藏」

    IT公司速查手册数据找回来了.「建议收藏」 谢谢大家的观心,IT公司速查手册数据找回来了. 前一段时间由于数据丢失,于今日已全部找回,共有近6500多家公司入驻,评论数多达10万多条。本站永久域名为(www.seeitco.com)

    2022年7月16日
    13
  • IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

    IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding本篇是对压缩感知重构算法之迭代软阈值(IST)的延续,可能需要以下基础:软阈值(SoftThresholding)函数和硬阈值(HardThresholding)函数。前面我们在讨论迭代软阈值算法时提到,一般文献中出现的IST或ISTA简称中的“S”并非指的是“soft”,而是“shrinkage”,即“IterativeShrinkage/ThresholdingAlgorithm”,那么IterativeSoftThresholding和IterativeShrinkage/

    2022年6月10日
    25
  • 苹果手表使用|watchOS 7+自动化:Apple Watch使用方法

    苹果手表使用|watchOS 7+自动化:Apple Watch使用方法随着 AppleWatch 表现出越来越脱离 iPhone 附件的趋势 相信它在将来一定会作为独立的电子设备大放异彩 而在 AppleWatch 的使用过程中 有一个话题怎么也不会被绕开 就是表盘 我的 AppleWatch 使用方法也是基于主题表盘的打造和切换 在 watchOS7 到来后 这可以变得更简单 接下来我将以 AppleWatch 的一天 形式来为大家介绍 开始前 我把表盘图库推出的所有表盘简单地分成了两类 时尚类和实用类 时尚类表盘刻度盘由全屏幕改为圆盘反而牺牲了美观性 比如

    2025年7月21日
    0
  • dm368流程_dm code

    dm368流程_dm codehttp://www.ahcit.com/?p=4038

    2022年8月13日
    1
  • PS2手柄通讯协议解析—附资料和源码「建议收藏」

    PS2手柄通讯协议解析—附资料和源码「建议收藏」文章目录一.PS2介绍二.PS2通讯协议介绍一.PS2介绍今天就带大家来认识一下PS2的通讯协议,如果你需要用PS2无线手柄搭配单面机来DIY制作,那么千万别错过这篇文章。首先介绍一下我们今天的主角–PS2手柄。PS2手柄是日本SONY公司的PlayStation2游戏机的遥控手柄。索尼的PSX系列游戏主机在全球都很畅销。不知什么时候便有人打起PS2手柄的主意,破解了通讯协议,使…

    2022年4月27日
    128
  • lnmp动静分离[通俗易懂]

    lnmp动静分离[通俗易懂]试验环境:ip服务概括192.168.1.61mysql,nginx,php,博客分离mysql,php到其他服务器192.168.1.62mysql代替1.61的mysql192.168.1.63php代替1.61的php思路:将1.61中的mysql,php,分离到其他服务器,分离后能够正常访问到1.61上的博客即可。一.分离MySQL数据库到1.621.在1.62服务器安装mysql[root@mysqld~]#rpm-ivhhtt

    2022年5月25日
    53

发表回复

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

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