☰
微信、QQ、TIM 消息防撤回:免费 PC 防撤回补丁完整指南
2026/11/6 1:22:11 网站建设 项目流程

微信、QQ、TIM 消息防撤回:免费 PC 防撤回补丁完整指南

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

RevokeMsgPatcher 是一款运行在 Windows 上的免费开源 PC 防撤回补丁工具。它直接改写微信、QQ、TIM 本地的 DLL 文件,让对方执行撤回之后,消息原文依然留在聊天窗口里。本文按环境准备、打补丁、验证效果的顺序,把整套流程讲清楚。

先说场景:什么情况下你会想要撤回消息留档

群里有人发错一份报价单,撤回得比谁都快;自己想核对一句之前说过的话,等回过神来只剩"对方撤回了一条消息"。很多人搜的是"微信撤回消息找回",但找回类思路本质上是在跟时间赛跑;RevokeMsgPatcher 走的是另一条路——直接把撤回动作废掉。打完补丁后,撤回通知照常来,原文却还在。它是个 WinForms 图形界面程序,主入口在 RevokeMsgPatcher/FormMain.cs,不用碰命令行。

先说清楚能力边界,免得预期错位:

适合的不适合的
防住将来发生的撤回(微信、微信4.0、QQ、TIM、QQNT、QQ轻聊版)找回已经被撤回的历史消息——它不是恢复工具
微信用户顺带要多开(可同时勾选多开)跑在 XP 或 macOS 上的用户

原理:为什么改几个字节就能废掉撤回

项目在 wiki 里留了一组 x32dbg 调试截图,思路很直白。微信内部处理撤回的逻辑大致是"满足撤回条件 → 删掉本地消息",这在汇编里就是一个条件跳转(je)。把这条指令改成无条件跳转(jmp,机器码从 0x74 变成 0xEB),"删消息"那个分支就永远进不去了。截图按操作顺序看:

在 x32dbg 的进程列表里附加 WeChat.exe:

接着在模块列表里定位 WeChatWin.dll:

然后在这个模块里搜索 revokeMsg 字符串,顺着交叉引用找到处理逻辑:

最后把撤回分支上的 je 条件跳转改成 jmp,撤回处理代码从此不再执行:

多开是同一个思路的翻版:微信靠一个互斥量的名字来阻止二次启动,搜到那段字符串后对相应字节下手,单实例判断就失效了:

实际操作里这些全部由程序自动完成:Modifier/ 下每个应用对应一个 Modifier 类(WechatModifier、QQModifier、WeixinModifier 等),它们根据本地 DLL 识别出的版本号匹配特征表,再由 FileHexEditor.cs 把字节写进文件。特征数据本身来自 patch.json,主程序内置一份,启动时再联网拉最新的。

动手前的三个硬性前提

  • 系统:Windows 7 及以上,XP 明确不兼容。
  • 运行库:.NET Framework 4.5.2 起步。低于这个版本双击程序常常毫无反应,或直接弹异常——这是"打不开"的第一嫌疑人。
  • 权限:以管理员身份运行,因为要写安装目录里的 DLL;同时把要打补丁的微信/QQ/TIM 彻底退出,包括后台进程,光最小化不算数。

防撤回补丁怎么装:完整流程

  1. 以管理员身份启动 RevokeMsgPatcher,等右下角状态变成[ 获取成功,点击查看更多信息 ]或[ 软件内置补丁信息已经是最新 ];显示[ 获取最新补丁信息失败 ]就先查网络再重启程序。
  2. 选应用。单选中"微信",QQ/TIM/微信4.0/QQNT/QQ轻聊版按需切换;QQ TIM 防撤回补丁的操作流程和微信完全一致,只是目标文件变成Bin\IM.dll。
  3. 确认路径。安装版会从注册表自动带出;绿色版点路径框右边的...手动指到 WeChatWin.dll(或 IM.dll)所在目录。路径给对了,"当前版本"一行会填出 DLL 的版本号,顺手就能判断当前版本是否在支持范围内。
  4. 勾功能。微信可以"防撤回 + 多开"一起勾;部分版本会同时给出"防撤回(老)"和"防撤回带提示(新)"两个互斥选项,程序会弹框让你二选一——前者无提示但撤回自己消息可能转圈,后者能看到撤回提示,但图片视频类撤回后仍会消失。
  5. 点"安装补丁!"界面会卡住几秒,看到"补丁安装成功!"即结束。写入前程序会给原始文件生成*.h.bak备份,随时能还原。

界面配置速查

界面项说明默认行为
选择应用微信 / 微信4.0 / QQ / TIM / QQNT / QQ轻聊版微信
应用路径定位 WeChatWin.dll(微信)、Weixin.dll(微信4.0)、Bin\IM.dll(QQ/TIM/轻聊版)注册表自动带出,绿色版手动选
当前版本识别到的目标文件版本号,用于核对支持范围识别不出时为空
功能勾选区防撤回、多开等,选项随版本特征集变化跟随识别结果
备份还原用打补丁前的备份恢复原文件没有备份文件时按钮置灰不可点

打补丁后如何验证是否生效

最省事的办法:找个同事发一条测试消息再撤回。原文仍留在窗口里(选"带提示"的版本还会多出撤回通知),就说明补丁在工作。注意验证的是新发生的撤回,之前已经撤掉的消息补不回来。

踩坑清单

现象原因与处理
双击没反应或报异常运行库低于 .NET Framework 4.5.2,装好或升级后重试
提示请以管理员权限启动并确认应用关闭目标应用还活着,或权限不够;退出应用、提权重开程序
"请选择正确的安装路径!"路径下找不到目标 DLL,用...重新指到正确目录
功能勾选区空、装不了当前应用版本不在特征表覆盖范围,菜单 帮助 → 支持版本 里对照确认
应用升级后失效特征数据跟着版本走,升级完重新打一遍即可
写 WeChatWin.dll 时杀软报警正常现象,补丁确实改的是官方文件,放行就行

风险与兼容性,用之前读一遍

  • 补丁和应用版本绑定,微信/QQ/TIM 每升一次级都要重打,旧特征不会自动套用到新 DLL。
  • 被改的是官方分发文件,除了杀软,应用自身的完整性校验也可能受影响,重要工作号慎用。
  • 已经打了多开补丁的微信,就不要再叠加 RevokeMsgPatcher.MultiInstance/ 这个通用多开工具了,两者冲突,用法见 它的 README。
  • 启动时程序会联网取特征信息,并通过 RevokeMsgPatcher/Utils/GAHelper.cs 上报少量使用事件;介意隐私的话,建议自己编译一份源码确认。

源码自编译与开源协议

想自己跑一遍的话:

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

然后用 Visual Studio 打开 RevokeMsgPatcher.sln,编译主工程 RevokeMsgPatcher/ 后以管理员运行。代码组织不复杂:界面在 Forms/,各应用的修改逻辑集中在 Modifier/,十六进制读写看 FileHexEditor.cs,版本特征数据在 RevokeMsgPatcher.Assistant/Data/ 按版本各存了一份 patch.json。项目采用 GPLv3 协议开源,许可文本见 LICENSE。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询