3 分钟给 PC 微信打上防撤回补丁:撤回的消息留在聊天框
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
昨天工作群那条对账通知,发出来三分钟就被撤回了,屏幕上只剩一句"对方撤回了一条消息",内容再也翻不出来。想知道微信撤回的消息怎么保留,可以看我这篇实测笔记:用开源工具 RevokeMsgPatcher 给 PC 微信打防撤回补丁,之后被撤回的消息原样留在聊天框,QQ、TIM、QQ 轻聊版同理。
安装前检查清单:能力边界与三条高频风险
先看它能做什么:打完补丁后,之后被撤回的消息不再消失,内容完整保留在本地聊天框;微信界面上还能顺手勾一个"多开";QQ、TIM、QQ 轻聊版也在支持范围内,QQ 防撤回补丁就是同一个程序里的功能。
它做不到的:已经撤回、已经消失的消息找不回来,只保"以后"的。
然后是三条要提前接受的风险:
- ❗微信一更新,补丁就失效。更新会覆盖被改过的核心文件,必须重新打一次,好在只需几秒钟。
- 杀软几乎必然报警。补丁要改写 WeChatWin.dll 这类核心文件,杀软不认识这种改动就会拦,装之前心里要有数。
- 太新的版本可能没适配。程序靠预先录好的特征码(一段用于在文件里"按纹样找位置"的字节序列)定位修改点,作者没跟进的新版本会提示找不到特征,这时只能等工具更新,别硬来。
- ⚠️ 合规提醒:改的是官方程序文件,请只用在给工作通知留底、保存重要聊天记录的正当场景,别用来窥探别人的隐私。
如果这几条你都能接受,往下看具体怎么装。
RevokeMsgPatcher 安装流程:准备、执行、收尾
准备:环境达标,彻底退出微信
环境要求两条:Windows 7 及以上(不支持 XP)、.NET Framework 4.5.2 及以上——这是运行该程序的运行时库,老机器可能版本不够。我第一回双击程序毫无反应,折腾半天发现就是 .NET 版本低了;环境不达标程序根本起不来,先查这里。
接下来彻底退出微信:不是关聊天窗口,是连右下角托盘里的微信图标也退干净,任务管理器里确认没有残留进程。为什么这么麻烦?补丁要改写微信的核心文件,文件被进程占着就写不进去。我第一遍只关了窗口就点安装,结果卡住报错,结束残留进程后才通过。
执行:选应用、勾功能、点安装
对程序右键"以管理员身份运行"——改写核心文件需要权限,普通权限会被拒之门外。
界面里选应用(微信、QQ、TIM、QQ 轻聊版)和安装路径。安装版一般能从注册表自动识别出路径;绿色版、便携版没有注册表记录,要手动指到 wechat.exe 所在目录。
然后勾功能。微信会同时出现"多开"和"防撤回"两个勾选项,我这次只勾了防撤回,多开留到验证时再说。
最后点"安装补丁"。界面可能会无响应一小段时间,属正常,耐心等进度走完即可。
收尾:给杀软放行,记下还原入口
进度刚走完,杀软的警告弹窗基本跑不掉。确认文件来自官方仓库后点"允许";杀软比较激进的机器,建议提前把补丁目录加进白名单。另外看一眼界面上的"备份还原"按钮,原文件已经备份过了,以后想撤销补丁点它就行。
补丁打完别急着关软件,先验证一下是否真生效。
3 分钟验证法:确认撤回的消息能保留
自测流程很短,对着勾:
- 找朋友或小号,给打了补丁的主号发一条有辨识度的消息,比如"留底测试 2026"
- 让对方在自己屏幕上点"撤回"
- 回到主号聊天框:消息还在,内容一字不少
- 在聊天记录里按关键词能搜到这条消息
- 对方屏幕正常显示"你撤回了一条消息",没有任何异常
内容保留、可搜索、对方无异常,三条判据全中才算真正生效。我实测三条全过,对方那边毫无破绽。想知道这条消息为什么能留下来,往下看一分钟版原理。
原理一分钟看懂:一条条件指令被改掉的背后
先把撤回理解成一次门禁放行:微信收到撤回指令后,内部逻辑是先核对条件,条件成立才跳进"删除消息"那段代码。这里的"核对后决定走不走"就是条件跳转je——像门禁先刷工牌,牌不对就不放行;jmp则是无条件跳转,走到必进,没有商量。
作者是先在调试器里手工摸出这套流程的:在内存里搜特征字符串revokemsg("撤回消息"的英文缩写),顺着它就能定位到处理撤回的代码。
关键动作就一处:把那条条件跳转je改成jmp,等于把"删除消息"这道门焊死,删除逻辑从此执行不到。
多开是另一个小机关:微信启动时会在系统里放一个互斥体(Mutex)——可以理解为插出去的一块"已有人使用"的登记牌,第二个微信看到牌子就直接退出。补丁改写这块牌子的检查逻辑,第二个实例就不再被拦。
好消息是,这套手工逆向已经被完全自动化。各版本的特征码和修改位置预置在 RevokeMsgPatcher.Assistant/Data/ 目录里,程序用 Boyer-Moore 算法在文件中快速匹配特征串,修改前核对文件哈希(哈希相当于文件的指纹值,防止改错位置)、修改后再校验一遍。你只需要点一个按钮。
原理讲完,剩下的都是排错。
遇到问题先查这里:常见故障排查表
| 问题 | 原因 | 处理办法 |
|---|---|---|
| 找不到安装路径 | 绿色版、便携版没有注册表记录 | 手动指定 wechat.exe 所在目录;识别错了就点路径旁按钮重选 |
| 提示找不到特征 | 微信版本太新,特征库还没适配 | 等工具更新特征码,别硬来 |
| 杀软把文件拦截或隔离 | 改写 WeChatWin.dll 触发告警 | 先在杀软里恢复被隔离的文件,给补丁目录加白名单再操作 |
| 微信更新后防撤回失效 | 更新覆盖了被改过的核心文件 | 重新打一次补丁,几秒钟的事 |
| 想撤销补丁 | 补丁改写的是本地文件 | 点程序里的"备份还原"还原原文件,或直接让微信自动更新覆盖 |
| 多开出现冲突 | 主程序的"多开"与独立小工具机制重叠 | 二选一:主程序已勾多开,就别再叠加 RevokeMsgPatcher.MultiInstance/ 工具 |
| 对方会不会察觉 | 补丁只作用于本地显示 | 不会,对方屏幕仍正常显示撤回成功,无任何提示 |
最后是判断自己适不适合的问题。
总结:适合谁装、谁别装
适合:被工作群、家庭群撤回反复折磨、需要给 WeChat 消息留底的;想在一台电脑上同时登多个微信的。不适合:微信版本太新、特征码还没适配的;杀软弹窗就慌的;对修改官方程序文件接受不了的。
获取方式一条命令:
git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考