微信QQ TIM防撤回补丁:5分钟装好,撤回的消息再也收不回去
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
老板发来的报价单、群里刚甩出的关键截图、对方承认问题的原话——点开之前还好好躺着,几秒后全部变成"对方撤回了一条消息"。手动截图来不及,转发又留证据痕迹,这种时刻只需要一个前提:撤回这条指令在客户端上根本不起作用。RevokeMsgPatcher 就是干这件事的:一个 Windows 下免费开源的图形化工具,给 PC 版微信、QQ、TIM 打上防撤回补丁,微信还能顺手多开,全程不到 5 分钟。
先搞懂它是怎么做到的
这类工具的水很深,有的要注入进程、有的要挂脚本,装完心里不踏实。RevokeMsgPatcher 走的是最朴素的路线:直接改磁盘上的 DLL 文件,改完就收工,之后没有任何东西常驻你的电脑。
它的动作分三步:
- 找到目标 DLL(微信的 WeChatWin.dll、QQ/TIM 的 IM.dll),读取文件版本号
- 在 RevokeMsgPatcher.Assistant/Data/ 里维护的各版本补丁库中,按版本号匹配一组"特征偏移 + 修改字节"
- 把原始文件备份成 .h.bak,按清单逐处改写几个字节
真正费功夫的是第 2 步里的"特征偏移"从哪来。作者团队(以及社区贡献者)用 x32dbg 对客户端做逆向,过程大致是这样的:
- 附加进程、加载模块:启动 WeChat.exe,在调试器中附加,找到 WeChatWin.dll 模块
- 字符串搜索:在内存里搜 "revokeMsg" 这类与撤回功能相关的字符串,顺藤摸瓜定位到处理撤回的函数
- 改跳转不改逻辑:找到撤回判断处的条件跳转指令(je),把它的操作码改成无条件跳转(jmp)——从此"消息被撤回"这个分支永远走不进去
调试器里验证通过之后,这些修改点就被固化成补丁清单,最终由工具一次性应用到磁盘文件上,无需你再碰调试器:
QQ 和 TIM 是同一路数:附加 QQ.exe 进程、分析 IM.dll、定位撤回逻辑、固化特征。
微信多开的原理同样来自逆向:微信靠一个名为 WeChat_App_Instance_Identity_Mutex_Name 的互斥量判断"是否已有实例在运行",补丁让这条检测失效,第二个、第三个微信窗口就能正常打开。
一个工具覆盖哪些软件
| 软件 | 补丁对象 | 方式 | 附加能力 |
|---|---|---|---|
| PC 版微信 | WeChatWin.dll | 磁盘特征补丁 | 可选装多开 |
| QQ(标准版) | IM.dll | 磁盘特征补丁 | — |
| QQ 轻聊版 | IM.dll | 磁盘特征补丁 | — |
| QQNT | 通过 LiteLoaderQQNT | 插件方式 | — |
| TIM | IM.dll | 磁盘特征补丁 | — |
除了"防撤回"这个主菜,还有几个实用配置:
- 一键备份还原:打补丁前自动备份原文件,界面上随时可还原,改坏了不用重装软件
- 版本自动识别:读取目标 DLL 的版本号,与补丁库自动匹配,界面会提示当前版本是否受支持
- 安装路径自动探测:安装版软件会从注册表直接读出路径;绿色版手动选一下即可
- 独立多开小工具:仓库里自带 RevokeMsgPatcher.MultiInstance/,无视微信版本实现多开,未装补丁的机器也能单独使用
上手指南,5分钟装完
先核对环境
- Windows 7 及以上(不支持 XP)
- .NET Framework 4.5.2 或更高,版本太低时打开程序可能无反应
- 全程需要管理员权限
安装步骤
- 关闭微信/QQ/TIM,包括托盘里的后台进程
- 右键 RevokeMsgPatcher.exe,选择"以管理员身份运行"
- 等待右下角补丁信息获取完成,选择要修改的软件
- 确认安装路径(安装版一般已自动填好,绿色版手动选择)
- 按需勾选"多开"和"防撤回",点击"安装补丁"
- 界面卡住几秒属于正常现象,完成后重启软件验证
没有现成安装包想自己构建的话,拉取源码即可:
git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher版本兼容速查
补丁库不是万能的,它按"软件版本 → 特征偏移"逐版维护,工具会自动校验:
| 场景 | 表现 | 处理办法 |
|---|---|---|
| 当前版本在补丁库中 | 界面显示"支持",正常打补丁 | 无需操作 |
| 软件刚更新、新版本未收录 | 版本校验不通过,界面提示 | 等工具发新版补丁库,或手动核对 RevokeMsgPatcher.Assistant/Data/ 中的 patch.json |
| 文件已被别的工具改过 | 特征不匹配 | 先点"备份还原"或重装软件后再打 |
三条铁律:
- 每次更新目标软件后都要重打补丁,更新会覆盖被修改的 DLL
- 杀毒软件报病毒是误报(改系统 DLL 是敏感操作),把工具目录加入信任区即可
- 绿色版/多开版混装的,务必确认选中的路径下确实有对应的 WeChatWin.dll 或 IM.dll
出问题时先查这里
- 打补丁后软件打不开:点"备份还原"恢复原文件。还原后仍打不开,说明是环境本身的问题(杀软拦截、杀软残留隔离文件)
- 杀毒软件持续拦截:放行工具目录。所有读写都发生在本地,不存在"上传数据"的通道
- 补丁打了一半界面卡死:等待几分钟即可,大文件逐字节校验本身偏慢;长时间无响应再检查 .NET Framework 版本
- 多开窗口闪退:多开频率太快会失败,间隔几秒再启动第二个窗口;仍不行就到多开小工具里点一下"清理所有微信互斥句柄"
- QQNT 防撤回不生效:QQNT 走 LiteLoaderQQNT 插件路线,先确认插件本身正常加载,再确认工具版本与 QQNT 客户端版本配套
- 支持 Mac / Linux 吗:不支持,补丁对象就是 Windows 客户端的二进制文件
比别的路线省心的地方
市面上常见的三种"反撤回"思路放在一起看:
| 维度 | 本项目(磁盘补丁) | 内存 Hook 工具 | 转发机器人/自动回复 |
|---|---|---|---|
| 重启后是否保留 | 保留 | 丢失,需重新挂钩 | 保留(依赖常驻程序) |
| 安装门槛 | 图形界面点几下 | 要会看汇编 | 要注册、配账号 |
| 运行期开销 | 无,改完即收工 | 常驻内存 | 常驻 + 网络转发 |
| 功能覆盖 | 防撤回 + 微信多开 | 通常单一 | 留痕但非真防撤回 |
| 可审计性 | 开源,补丁清单可查 | 视工具而定 | 视服务而定 |
核心优势一句话:它改的是"客户端如何处理撤回指令",而不是在旁边架一个摄像头。不驻留、不依赖、重启照旧有效。
项目构造一览
RevokeMsgPatcher/ ├── RevokeMsgPatcher/ # 主程序 │ ├── Modifier/ # 各软件补丁逻辑(Wechat/QQ/TIM/QQNT…) │ ├── Matcher/ # 特征码匹配(Boyer-Moore、模糊匹配) │ ├── Model/ # 数据模型(ModifyInfo、ReplacePattern…) │ ├── Forms/ # 界面 │ └── Utils/ # 路径、版本、HTTP 等工具类 ├── RevokeMsgPatcher.Assistant/ # 补丁信息助手,按工具版本存放 patch.json ├── RevokeMsgPatcher.Launcher/ # 启动器 └── RevokeMsgPatcher.MultiInstance/ # 独立微信多开工具想看某个软件的修改细节,直接翻 RevokeMsgPatcher/Modifier/ 里对应的文件;补丁数据格式看 RevokeMsgPatcher/Model/;多开工具的使用说明在 RevokeMsgPatcher.MultiInstance/README.md。项目完整说明见 README.md。
用得更稳的几个习惯
- 合规使用:防撤回只解决"自己看不见消息"的问题,不豁免任何隐私义务,遵守各软件的用户协议,尊重对方意愿
- 补丁状态月度巡检:更新软件后顺手重打一次,或至少确认版本校验提示
- 重要会话定期导出:防撤回是保险,不是存档,关键记录该备份还是要备份
- 只从官方渠道获取:二次打包的版本可能夹带私货,认准项目自身发布渠道
回到开头那几条被撤回的消息——下次再看到"对方撤回了一条消息",你只需要笑一下,然后打开聊天框把它原样读出来。RevokeMsgPatcher 把"看不见"变成了"还能看见",仅此而已。
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考