PC微信防撤回补丁实操指南:三步装好微信防撤回,撤回的消息再也藏不住
PC微信防撤回补丁实操指南:三步装好微信防撤回,撤回的消息再也藏不住
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
刚眯眼看"调薪通知"的下半句,消息就变成一行灰字:"你撤回了一条消息"——那关键的后半句,永远看不到了。开源工具 RevokeMsgPatcher 专门干这事:给 PC 版微信、QQ、TIM 打一个"防撤回"补丁,让被撤回的消息原样留在聊天记录里。这篇文章是我把完整流程跑了一遍的记录:装什么、哪里翻车、什么能拦什么拦不住,一次讲清楚。
动手之前:这个补丁能做什么、不能做什么
我知道你急着看安装步骤,但先花 30 秒把预期校准好,免得装完发现"不是这么回事":
| 事项 | 实际情况 |
|---|---|
| 打好补丁后收到的撤回消息 | 内容原样保留,聊天记录里能搜到关键词 |
| 已经消失的撤回消息 | 找不回来,它不是时光机,只对"之后"生效 |
| 对方屏幕看到什么 | 一切照旧,仍显示"你撤回了一条消息",无从察觉 |
| 微信/QQ 自动更新之后 | 核心文件被新版覆盖,补丁失效,需要重新打一次 |
| 杀毒软件 | 改 DLL 时几乎必然报警,需要放行或提前加白名单 |
| 版本太新没适配 | 会提示找不到特征,只能等特征库更新,别硬来 |
另外坦白一句:这是灰色操作——改的是官方程序文件。用在留存工作通知、重要聊天记录这类正当用途上,别拿去窥探别人隐私,用途怎么定,取决于你自己。
防撤回补丁安装全流程:分三个阶段,每步都能断点续做
整个安装我算过时间:顺利的话 10 分钟以内,我第一回花了快 30 分钟,多出来的一半全耗在自己没退出干净微信上。
阶段一 · 准备:三件事,缺一装不上
检查系统环境。Windows 7 及以上(不支持 XP),.NET Framework 4.5.2 及以上。Win10 一般自带,老系统可能要补装。环境不达标,程序双击之后会直接没反应或报错,白折腾。
彻底退出目标软件——最大的坑在这里。不是关窗口,是连右下角托盘里的微信小图标也要一起退掉。补丁要改写微信的核心文件,文件被进程占着就写不进去。我第一次就图省事只关了窗口,点"安装补丁"直接卡死在报错上,看了半天才反应过来。
右键"以管理员身份运行"补丁程序。它要改的是系统级文件,普通权限会被拒之门外。这步不用思考,照做就行。
阶段二 · 执行:选类型、勾功能、点安装
程序打开后,右下角会显示"[ 获取最新补丁信息中... ]",等它变成"获取成功"再往下走——它刚启动时会联网拉取最新的特征库数据。
界面上就四样东西:选择应用、应用路径、可选功能、两个按钮。
- 选择应用:微信、微信 4.0、QQ、QQNT、QQ轻聊版、TIM,选你实际要打的。
- 应用路径:安装版不用管,程序会自动从注册表读到路径(这段自动探测逻辑在 WechatModifier.cs 里);绿色版、便携版识别不到就点"...",手动指向含 WeChatWin.dll 的那个目录。指错了它会明确报错:"无法找到此应用的关键文件,请选择正确的安装路径!"
- 看版本号:路径识别成功后,下方会显示"当前版本:x.x.x.x(支持特征防撤回)"。如果显示不支持,说明你的软件版本太新、作者还没来得及适配特征库,先升级补丁程序再说。
- 勾可选功能:微信会同时出现"防撤回"和"多开"两个勾选项,按需勾选(多开的事后面单独讲)。
- 点"安装补丁!"。界面卡住无响应几秒钟是正常的,耐心等,别强退。
翻车预警:进度条刚走完,杀毒软件的警告弹窗几乎准时到达——它改的是微信核心 DLL,杀软不认识这种改动就会拦。确认文件是从官方仓库来的之后再点放行;杀软比较激进的,建议先把补丁目录加进白名单再动手。
想反悔也有退路:点"备份还原",工具会把原始文件还原回去。
阶段三 · 确认:重启微信,看两处
补丁打完,正常启动微信、登录。然后看两处:
- 聊天功能正常:随便发收几条消息,界面没异常、不闪退。
- 多开是否生效(如果你勾了):直接再启动第二个微信,能正常进入说明多开也好了。
如果启动时报"文件已损坏/无法启动",十有八九是杀软把改过的 dll 隔离了——先还原原始文件,加白名单,重新打补丁。
防撤回效果5分钟自检方法
装完不验证,我心里不踏实。这套自测方法我亲测有效,全程不到 5 分钟:
- 准备另一台设备或一个不常用的小号(找朋友配合也行);
- 给你电脑上的微信发一条有辨识度的消息,比如"撤回测试 2026-08";
- 对方那头点"撤回";
- 看你的聊天框:那条消息还在,一字不少,而且能在聊天记录搜索框里搜出关键词——成功;
- 多走一步:看一眼对方屏幕,如果那边照常显示"你撤回了一条消息",闭环完成。
这最后一步值得做。确认"对方毫无察觉",比确认"消息还在"更让人安心。
原理拆解:被锁死的传菜窗口与一条跳转指令
很多人一听"改二进制文件"就绕道,其实原理一点不神秘。先讲个场景:
把你的聊天窗口想成一个餐厅的传菜台。对方发的每条消息,都是已经传到你台面上的菜。所谓"撤回",是后厨喊了一嗓子"这道菜收回去"——正常情况下,服务员(微信程序)听到喊声,会立刻把菜端走扔掉,你只能眼睁睁看台面空掉。
补丁干的事,不是堵后厨的喊声,而是把服务员操作手册里的一行字改了:把"收到喊声就收菜"改成"收到喊声也留菜在台上"。菜(消息内容)稳稳留在台面上,后厨那边照样记着"已退回",所以对方屏幕上"你撤回了一条消息"一切如常,谁也不知道你这台传菜台的规则被改过。
现在把场景对回技术细节:
- 那本"操作手册"就是微信的核心文件WeChatWin.dll(微信 4.0 是 Weixin.dll,QQ/TIM 是 Bin\IM.dll);
- 手册里"收菜"这个动作,躲在一条条件跳转指令后面——汇编语言里的
je,意思是"条件成立才跳过去执行删除代码"。补丁把这行条件跳转改成不跳转的指令,删除逻辑从此永远执行不到。
这件事最早是作者在调试器 x64dbg 里手工完成的:先把微信跑起来,在内存里搜特征字符串"revokemsg"——"revoke message"的缩写,顺着它一路定位到相关代码:
定位到之后,把关键的条件跳转je改成无条件跳转jmp,再把改过的字节写回 WeChatWin.dll:
从手搓逆转到一键完成:作者把脏活全自动了
这么繁琐的过程,每次微信更新都要手动来一遍吗?完全不用。这正是这个项目最聪明的地方:
- 所有已知版本的特征串和修改位置,都预存在 RevokeMsgPatcher.Assistant/Data/ 目录下的补丁数据文件里,每个微信版本一份;
- 程序用 Boyer-Moore 算法在几十上百兆的 dll 里快速定位特征串(实现见 BoyerMooreMatcher.cs);
- 修改前核对原文件 SHA1 哈希,修改后再校验一遍,确保不会改错位置。
你点一个按钮,剩下的脏活累活它全包了。
意外之喜:顺手解锁微信多开
装的时候是冲着防撤回去的,用下来发现多开才是真香——个人号、工作号、客户群分开登,不用再一台电脑来回扫码。
多开的原理也不复杂:微信启动时会先检查"是不是已经有一个自己在运行",判断依据是一个叫**互斥体(Mutex)**的标记,你可以把它理解成一张"此桌已有人"的牌子——第二个微信拿着同样的牌子来,直接被拦下。逆向人员在调试器里搜到了这块牌子的名字字符串:
RevokeMsgPatcher 打防撤回补丁的同时,会把这块"牌子"一并废掉,于是第二个、第三个微信都能顺利进场。
如果你暂时不想动主程序,项目里还附带了一个独立的微信多开小工具:自动模式点"启动多开"就能拉起多个微信,手动模式提供"关闭所有微信进程""清理所有微信互斥句柄",基本无视微信版本。
⚠️ 注意:如果主程序已经装了带"多开"的补丁,就不要再叠加使用那个独立多开工具,两套机制会冲突。
适合谁装、不适合谁装
适合装的人:
- 经常被工作群、家庭群的"撤回"坑过,错过关键通知会出事的;
- 有重要聊天记录要留底,又不放心只靠截图的;
- 需要微信多开、受不了来回切换扫码的;
- 接受"版本更新后重新打一次",愿意花 10 分钟装补丁的。
不适合装的人:
- 在用最新测试版通讯软件,作者还没来得及适配特征库的;
- 杀软一弹窗就慌、又不想研究"这到底是不是官方文件"的;
- 对"修改官方程序文件"这件事接受不了,追求绝对干净合规的;
- Mac / Linux 用户——这个补丁只支持 Windows。
工具本身没错,能不能用好取决于用它的人。守住自己该留的记录,也尊重别人撤回的权利,这是最舒服的用法。
收尾:那条撤回的消息,终于留下了
回到开头那个"调薪通知"。装上补丁之后,我特意让朋友又撤了一条消息试试——内容原原本本躺在聊天记录里,搜索一搜就出来;再看朋友那边,屏幕上还是那行再普通不过的"你撤回了一条消息"。从那天起,"撤回"这两个字在我这里只剩一层意思:对方的一厢情愿。
如果你也受够了"眼睁睁看着消息消失却无能为力",获取方式就一条命令的事:
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),仅供参考
