RevokeMsgPatcher 微信/QQ/TIM 防撤回补丁:15 分钟完整安装与自测指南
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
RevokeMsgPatcher 是一款面向 Windows 平台的防撤回补丁工具,通过改写 PC 版微信、QQ、TIM 客户端的核心文件,让被撤回的消息继续保留在你本机的聊天记录里,微信用户还可以顺带开启多账号同时登录。从启动程序到确认补丁生效,整个过程大约 15 分钟,无需任何编程基础,具备基本的鼠标操作能力即可完成。它适合用电脑版聊天软件处理工作沟通、又希望关键消息不被悄悄抹掉的读者。
先看这张表:哪些人适合装,哪些人不必装
| 你的情况 | 结论 |
|---|---|
| 群聊里常出现重要通知、排期,担心对方撤回后无从查证 | 适合安装,这正是该工具设计的使用场景 |
| 工作沟通依赖 PC 版微信/QQ/TIM,希望本地留存消息原文 | 适合安装 |
| 一台电脑需要同时挂工作和个人两个微信号 | 适合安装,微信补丁自带"多开"勾选项 |
| 平时只用手机聊天,电脑版极少打开 | 不必安装,补丁只作用于 Windows 桌面客户端 |
| 目的是找回过去已经被撤回的消息 | 不必安装,补丁只拦截安装之后发生的撤回 |
| 对改写官方程序文件这件事有顾虑,追求零修改的纯净环境 | 不必安装,它的工作方式就是重写客户端核心文件 |
| 只用 Mac 版微信 | 不适用,目前没有 Mac 版方案 |
动手前的五项核对清单
打开程序之前,先逐项确认以下条件,任何一项不满足都可能让后续操作失败:
- ☑ 系统是 Windows 7 或更高版本(不支持 XP)。
- ☑ 已安装 .NET Framework 4.5.2 或更高版本(.NET Framework 是 .NET 程序运行所需的系统组件)。Win 10/11 一般已自带;版本不足时程序可能打开无反应或报错。
- ☑ 程序来自官方仓库。可自行执行
git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher后编译,或直接使用官方发布包。任何第三方"整合版""修改版"都不要使用。 - ☑ 清楚风险预期:补丁会改写微信的WeChatWin.dll、QQ/TIM 的IM.dll这类核心文件(DLL 是程序的核心功能组件文件),杀毒软件报警属于预期行为。
- ☑ 了解恢复路径:改写前程序会自动生成
.h.bak备份文件,主界面上有"备份还原"按钮,出问题可一键还原。
安装步骤:四步从启动改完文件
| 步骤 | 操作 | 预期现象 | 卡住怎么办 |
|---|---|---|---|
| 1. 彻底退出客户端 | 右键托盘图标退出微信/QQ/TIM | 任务管理器中查不到 WeChat.exe、QQ.exe、TIM.exe | 到任务管理器逐个结束残留进程,关窗口不算退出 |
| 2. 管理员身份启动 | 右键程序 → 以管理员身份运行 | 程序正常打开,右下角提示正在获取补丁信息 | 窗口无反应先查 .NET 版本;能打开但写入被拒则重新以管理员身份启动 |
| 3. 选定客户端与安装路径 | 安装版客户端会自动从注册表读取路径;绿色版、便携版需手动指定主程序位置 | 界面上显示的路径与客户端实际安装位置一致 | 核对路径指向的确实是 WeChat.exe、QQ.exe、TIM.exe,路径选错等于改错文件 |
| 4. 勾选功能并点击安装 | 勾选"防撤回",微信可另勾"多开",点击安装 | 界面停顿数秒到十几秒后提示完成 | 停顿是正在改写文件,不要关闭窗口;杀软弹窗在确认来源后放行即可 |
两个关键点值得单独说明。第一步必须彻底退出客户端,因为待改写的 DLL 正被运行中的进程占用,写入会直接被系统拒绝——确认方式是任务管理器里找不到对应进程。第二步的管理员权限容易被省略,而客户端安装目录通常位于受保护路径下,普通权限没有写入资格,表现为"能打开、点安装没反应",重新以管理员身份启动即可解决。
自测方法:确认防撤回补丁真的在生效
安装完成不代表万事大吉,用下面四步跑一遍完整闭环:
- ☑ 用另一台设备(或不常用的小号)给自己发一条内容醒目的消息,例如"防撤回自测 0915"。
- ☑ 回到电脑端,对这条消息执行"撤回"操作。
- ☑ 打开电脑端该会话:消息原文仍在、内容完整,没有消失。
- ☑ 在聊天记录搜索框输入消息内容,能搜到这条消息;同时看一眼对方设备,界面照常显示"你撤回了一条消息",看不出任何异常。
四步全部通过,说明防撤回补丁已正常工作;若消息仍然消失,先检查客户端是否在打补丁后又启动过新版本。
能力边界:补丁能拦什么,拦不了什么
| 能做到 | 做不到 |
|---|---|
| 安装补丁之后发生的撤回,消息原文留在本地聊天记录 | 安装之前已被撤回的消息无法找回 |
| 同时覆盖 PC 端微信、QQ、TIM,以及新版 QQNT | 无法干预删好友、清空会话等其他操作 |
| 微信可同步开启多账号同时登录 | 不影响手机端与 Mac 端 |
| 对方设备表现正常,不暴露任何痕迹 | 客户端一旦更新,改动文件会被覆盖,需重新打补丁 |
实现原理:从特征匹配到字节替换
打个比方:撤回就像快递柜收到一条"第 17 号包裹请取出销毁"的工作单。按原始流程,柜员会照单取出、销毁、并在单据上盖章"已处理"。补丁做的事,是把工作单流程改写成"只盖章、不动包裹"——寄件方拿到的回执和以前一模一样,但柜子第 17 格的包裹原封未动。这也是为什么对方看不到任何破绽:网络层的回执没有变,变的只是你本地文件的处理动作。
落到技术层面,补丁按以下流程执行:不同版本的特征码与修改位点预先存放在 RevokeMsgPatcher.Assistant/Data/ 目录下按版本组织的patch.json数据中(覆盖 0.7 至 2.1 共 15 个系列);程序启动后用 RevokeMsgPatcher/Matcher/ 模块中的 Boyer-Moore 算法在几十 MB 的 DLL 里快速定位目标特征串;随后在字节层动手——撤回逻辑的入口处原本是一条条件跳转指令(je/jne,含义是"条件成立才跳去执行删除"),补丁将其改写为无条件跳转jmp(0xEB)或返回指令ret(0xC3),其余字节用空操作nop(0x90)补齐,删除分支从此永远执行不到;改写前后各做一次 SHA1 哈希校验,确保文件版本匹配、改动落位。微信的"多开"选项则改写了基于互斥体(Mutex,一种系统级的"只有一个进程能占用"的标记)的单实例检查,让第二个微信进程也能顺利启动;QQNT 由于架构不同,改写对象是wrapper.node文件。
上面三张图出自项目 Wiki 的逆向演示,用来展示特征长什么样、改在哪一处。普通用户安装时全程图形界面操作,无需接触这些内容。
常见问题:五个最常被问到的回答
Q1:对方能发现我装了防撤回吗?不能。对方界面正常显示"你撤回了一条消息",网络回执流程未做任何改动,你这边只是本地消息没有消失,不存在任何反向信号。
Q2:装完之后,之前被撤回的消息能找回来吗?不能。它拦截的是安装之后发生的撤回动作,历史数据不会因为打补丁而重新出现。
Q3:改坏了文件怎么办?主界面的"备份还原"按钮会用改写前自动生成的.h.bak备份把原文件覆盖回去;若还原仍有问题,重新安装一个官方原版客户端即可彻底复位。
Q4:支持 Mac 版微信或手机端吗?都不支持。该工具只针对 Windows PC 客户端(微信、QQ、TIM、QQNT)。
Q5:客户端更新之后补丁失效了怎么办?更新会用官方文件覆盖你改过的 DLL,属于必然现象。处理方式是:退出客户端 → 以管理员身份重新打开本工具 → 再装一次补丁。如果当前版本提示找不到特征,说明作者尚未适配,等 RevokeMsgPatcher.Assistant/Data/ 的补丁数据更新即可,不要反复重试。
风险与合规:灰色地带的分寸
修改官方程序文件这一行为本身处于灰色地带:杀软无法区分"防撤回补丁"和恶意篡改,报警是机制使然而非程序有问题。正确的用法是把它限定在个人留存范围内——保留对自己确实重要的通知和结论,工作场景先确认公司规定;同时承认别人正常撤回的权利,不把它当作翻旧账或施压的手段。
收尾
如果你的核心诉求是"电脑端被撤回的消息要留得住",照上文核对清单、四步安装、四步自测走完即可,整个过程可控在 15 分钟内。若对改写官方文件始终心存顾虑,不装也是完全成立的选择。长期使用只需记住一件固定动作:客户端每次更新之后,重打一次补丁。
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考