RevokeMsgPatcher 微信防撤回补丁:四步装好 PC 端微信/QQ/TIM 防撤回与多开
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
RevokeMsgPatcher 是一款运行在 Windows 上的 PC 版微信防撤回补丁,通过修改官方客户端里的几个指令字节,让被撤回的消息在你这一侧仍然可见,微信用户还能顺手开启多开。它不替换客户端、不触碰本地聊天数据库,对方的撤回操作照常成功,只有你这里保留了原文。
补丁改动范围:支持哪些客户端,改了什么
程序内置多个独立修改器,分别对应 RevokeMsgPatcher/Modifier/ 目录下的实现文件,一次安装、互不干扰:
| 客户端 | 防撤回 | 多开 | 被修改的核心文件 |
|---|---|---|---|
| 微信(3.x) | 支持 | 支持 | WeChatWin.dll |
| 微信 4.0(Weixin) | 支持 | 支持 | Weixin.dll |
| 支持 | 不支持 | Bin/IM.dll | |
| TIM | 支持 | 不支持 | Bin/IM.dll |
| QQNT(新版 QQ) | 支持 | 不支持 | wrapper.node |
几个容易误解的点:
- 用的是官方原版客户端,没有第三方外壳,也不常驻任何附加进程;
- 只写可执行文件,本地聊天记录数据库原样保留;
- 改动前会自动生成
.h.bak备份文件,界面右侧有"备份还原"按钮,随时可以恢复原状; - 补丁库联网自动更新:每次启动时从服务器拉取最新特征数据,各版本的特征码按版本号归档在 RevokeMsgPatcher.Assistant/Data/ 目录下。客户端刚更新,只要库里已有对应条目即可直接打补丁;库没跟进的版本,界面会把版本号标红且不提供勾选项。
安装 RevokeMsgPatcher 前完成三项准备
| 准备项 | 要求 | 不满足的后果 |
|---|---|---|
| 系统环境 | Windows 7 及以上(不支持 XP);.NET Framework 4.5.2 或更高 | 双击程序无反应或弹窗报错 |
| 客户端进程 | 彻底退出,包括系统托盘里的图标,任务管理器确认无 WeChat.exe / QQ.exe 残留 | 文件被占用,补丁写入失败 |
| 运行权限 | 右键补丁程序"以管理员身份运行" | 无写文件权限,补丁静默失败 |
RevokeMsgPatcher 防撤回安装步骤(共 4 步)
步骤 1:以管理员身份启动,等待补丁数据加载
程序启动后右下角会显示正在获取最新补丁信息的状态,等它变绿再操作。若长时间停留在加载状态,多为网络原因——特征库是联网现取的,换个网络或稍后重试。
步骤 2:确认客户端类型与安装路径
在界面上选择微信、QQ、TIM 或 QQNT 对应的选项。安装版客户端的路径会从注册表自动识别并填入输入框;绿色版(免安装版)需要手动浏览到WeChat.exe所在目录。路径填对后,界面上会显示检测到的客户端版本号,这是判断能否安装的关键依据。
步骤 3:勾选功能
微信有两项可选:"防撤回"和"多开",可单独勾选或同时勾选;QQ、TIM、QQNT 只有防撤回。若版本号显示为红色且没有勾选项,说明当前版本不在特征码库覆盖范围内——升级客户端或等待补丁数据更新后再试。
步骤 4:点击"安装补丁"并等待进度完成
⚠️ 这一步杀软大概率弹出警告,提示 WeChatWin.dll 或 IM.dll 被修改。属于改写核心文件触发的误报,确认程序来源后放行即可;若文件已被隔离或删除,先到隔离区恢复,再把客户端目录加入杀毒软件白名单。完成后关闭补丁程序,正常启动客户端。
安装后 30 秒验证:防撤回和多开是否生效
- 给自己发一条消息(文件传输助手或另一台设备均可),几秒内撤回;
- 聊天窗口里原文仍在,防撤回生效;
- 微信用户再启动一次客户端,两个窗口同时在线,多开生效。
微信防撤回不生效排查:六个常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 提示文件被占用 | 客户端进程未退干净,含托盘残留 | 任务管理器结束对应进程后重试 |
| 杀软报警或删了文件 | 核心 DLL 被改写触发误报 | 放行文件,或把客户端目录加入白名单 |
| 版本号标红、无勾选项 | 该版本特征码库尚未收录 | 升级客户端,或等补丁数据更新 |
| 客户端升级后失效 | 升级覆盖了已打补丁的文件 | 重新以管理员身份运行补丁程序再打一次,并考虑关闭客户端自动更新 |
| 双击程序没反应 | 缺少 .NET Framework 4.5.2 以上运行时 | 安装对应运行时后重新打开 |
| 改完想恢复原样 | 需要回滚 | 点界面上"备份还原"按钮,依据.h.bak备份恢复 |
补丁原理:拆掉分拣线上的"改道指示牌"
把客户端的消息处理流程想象成快递分拣中心:普通消息走"入库展示"传送带;撤回信号进来后,分拣机读到一块"改道指示牌",把对应包裹从原文仓位改送"清空替换"口,屏幕上就只剩一行"撤回了一条消息"。
RevokeMsgPatcher 做的事等价于拆掉这块指示牌:补丁把撤回流程里的分支判断改写到原文永远不会离开仓位。实现上是在特征码定位到的位置改写几个指令字节(例如把"条件跳转"改成无条件执行或提前返回),改动量通常只有 1~5 个字节。作者最早是在调试器里手工完成的:先靠检索字符串revokemsg找到相关函数,再逐字节修改,过程如下——
后来这套流程被完整自动化:特征码按版本存入数据文件,由 BoyerMooreMatcher.cs 在 DLL 中定位位置,每条记录还带修改前后的 SHA1 指纹,改前先核对、改后再校验,你只需要点一次按钮。
微信多开:拆掉"钥匙只能转一次"的限制
微信默认一台电脑只允许一个实例,靠的是互斥句柄——第一个实例启动时挂上钥匙,后续实例看到钥匙存在就拒绝进场。多开补丁改的就是这段检查逻辑;项目里另外附带一个独立的微信多开小工具 RevokeMsgPatcher.MultiInstance/,通过周期性清理互斥句柄实现,不依赖版本号,单用即可。⚠️ 注意:如果已经通过主补丁给微信打了"多开"项,就不要再重复使用该小工具。
在调试器里直接检索字符串,就能看到微信用来判断单实例的互斥名_WeChat_App_Instance_Identity_Mutex_Name:
获取源码与使用边界
git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher想深入看的,建议从 RevokeMsgPatcher/Modifier/ 的修改器实现和 RevokeMsgPatcher.Assistant/Data/ 的特征码数据入手。
最后交代边界:修改官方客户端文件属于灰色操作,腾讯可能随时在更新中修复或检测,补丁不保证长期有效;请只把它用于保存工作通知、留存重要聊天记录这类正当用途,不要用于窥探他人隐私或任何违规场景。
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考