一招终结“消息撤回“烦恼:RevokeMsgPatcher 让微信/QQ/TIM 的每条消息都留得住

一招终结"消息撤回"烦恼:RevokeMsgPatcher 让微信/QQ/TIM 的每条消息都留得住

【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher

下午三点,工作群里弹出一条消息:"明天会议改到 10 点,所有人务必准时参加。"你刚敲了个"收到",下一秒屏幕上只剩一行小字——"某某撤回了一条消息"。

这不是错觉。消息撤回功能保护了发送者的"后悔权",却常常让接收者抓狂:刚看完一半的地址、刚扫到一眼的文件名、刚准备存下来的报价,都随那行小字消失得无影无踪。

而 RevokeMsgPatcher,就是专治这种"手慢无"的开源防撤回工具。它运行在 Windows 上,通过给 PC 版微信、QQ、TIM 打补丁,让"撤回"动作彻底失效——对方撤回的消息,会原样留在你的聊天窗口里。

它是谁:一句话说清

RevokeMsgPatcher 是一款 Windows 平台的开源消息防撤回补丁工具,面向所有不想错过消息的普通用户。它支持的软件和改动目标很清晰:

软件被修改的文件能做什么
微信 PC 版(2.6.6.28 起,含 4.x)WeChatWin.dll / Weixin.dll防撤回、多开
QQ PC 版IM.dll防撤回
TIMIM.dll防撤回
QQNT(9.8.0.19000 起)wrapper.node群聊防撤回

它最贴心的一点是:官方安装版的微信/QQ/TIM,程序会自动从注册表识别安装路径,不用你手动翻文件夹;只有绿色版才需要手动指定一下位置。

和"土办法"比,它凭什么胜出

网上流传的防撤回"土办法"并不少,比如手动找文件、改配置、用十六进制编辑器瞎试。风险高、成功率低,改坏了还没处说理。RevokeMsgPatcher 的优势,恰恰是把这些脏活累活全部自动化:

  • 精准定位:内置几十个版本的特征码,自动匹配,不用你一个字节一个字节地找
  • 双重校验:修改前验证 SHA1 确保文件完整,修改后再次校验确认成功
  • 留好退路:打补丁前自动备份原始文件,出问题可以一键还原
  • 一次覆盖多版本:从微信 2.6 到 4.x 都收录在案,更新软件后重新打一次即可

一句话总结:把专业调试人员的工作,压缩成了一个按钮。😄

实操走一遍:3 步让消息"撤不回"

开始之前,先检查环境是否满足:

  • 系统:Windows 7 或更高版本(不支持 XP
  • 框架:.NET Framework 4.5.2 及以上(版本太低会打不开程序)
  • 权限:以管理员身份运行
  • 状态:先关闭要打补丁的微信/QQ/TIM

第一步,拿到工具。有两种方式:一是直接下载官方发布的压缩包,解压即用,无需安装;二是从源码自行编译:

git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher

第二步,选择软件与路径。打开程序后,界面左侧选择微信/QQ/TIM,右侧会自动填充安装路径;如果是绿色版,点"..."按钮手动定位到安装目录即可。

第三步,一键安装补丁。勾选需要的功能(默认"多开"和"防撤回"都可用),点击"安装补丁"按钮,等进度走完就算完工。验证方法也很简单:重启微信/QQ/TIM,让朋友发一条消息再撤回,如果消息还留在聊天窗口里,就说明补丁生效了。

原理大白话:改一个字节,撤回就"失忆"

消息撤回的底层逻辑,很像家里装了一道"撤回门":程序走到门前,会先检查一个条件——"对方是否撤回了?"条件成立,就开门执行撤回;不成立,就关门继续聊天。而这个判断,在二进制文件里对应一条汇编指令JE(相等则跳转)。

RevokeMsgPatcher 做的事,就是把这道门的"钥匙孔"堵死:把条件跳转 JE 改成无条件跳转 JMP,让程序无论什么情况都直接跳过撤回逻辑。

每个版本的具体改动点,都记录在项目的 patch.json 里。比如微信 3.3.5.25 的补丁数据大致长这样:

{ "Name": "WeChatWin.dll", "Version": "3.3.5.25", "SHA1Before": "3e94753ccbc2799d98f3c741377e99bdae33b4cf", "SHA1After": "ab98f83fc16674ac4911380882c79c3ca4c2fd71", "Changes": [ {"Position": 3413977, "Content": [235]}, {"Position": 12159591, "Content": [235]} ] }

其中235就是 JMP 指令的机器码(十六进制 EB),74则是 JE 的机器码。把 74 改成 EB,撤回判断就被绕过了。工具会先用 SHA1 确认文件确实是目标版本,再按位置精确改动,改完再校验一次,避免"改错地方"的尴尬。

新手最常踩的 6 个坑

  1. 没关软件就打补丁:文件正被占用,必然报错——先把微信/QQ/TIM 彻底退出
  2. 忘了管理员权限:提示权限不足时,右键"以管理员身份运行"再试
  3. 软件更新后不重打:每次升级都会覆盖修改过的文件,记得更新完再补一次
  4. 杀毒软件弹窗:因为要改程序文件,安全软件会误报,属于正常现象,放行即可
  5. 绿色版路径选错:位置不对等于白打,确认选到了含 WeChatWin.dll / IM.dll 的目录
  6. 版本超出支持范围:打补丁失败时先确认版本是否在支持列表内,必要时先升级或降级软件

附赠玩法:顺手解锁微信多开

除了防撤回,RevokeMsgPatcher 还内置了微信多开能力。勾选"多开"后,同一台电脑可以同时登录多个微信账号,工作号和生活号互不干扰。

多开的原理同样直白:微信靠一个"互斥锁"保证单实例运行,工具找到锁检查的代码并绕过它,让系统以为"从没开过微信"。

如果你只需要多开、不想动主程序,项目还附带了一个独立的微信多开小工具,可以单独使用。

动手指之前,请记住这几条线

工具本身完全开源(GPLv3),代码可以放心审阅,但用起来要有边界:

  • 只在自己设备、自己的账号上使用,不要借它窥探他人隐私
  • 别拿它做"取证"去传播他人撤回的内容,尊重对方的删除意愿
  • 使用前想清楚合规风险,聊天软件的服务条款通常不允许修改客户端行为

防撤回是把双刃剑——它能留住对你重要的信息,也可能伤害别人"不想留下"的权利。用在正当的信息保存上,才是它的正确打开方式。

写在最后

回到开头的那个下午:装上 RevokeMsgPatcher 之后,那句"会议改到 10 点"再也不会消失,工作不再因"手慢"而延误。

从微信 2.6 到 4.x、从 QQ 到 TIM,这个开源项目一直在跟随软件版本更新而迭代。可以想见,未来它会朝着更智能的方向走:自动识别新版本、云端同步补丁数据,让"消息撤不回"这件事变得更省心。

技术工具的价值,从来都在于怎么用它。守住边界,用对场景,RevokeMsgPatcher 就是你在聊天记录里的"保险箱"。🚀

【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考