微信QQ消息撤回后还能不能找回?RevokeMsgPatcher 防撤回工具使用指南
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
同事在群里发了条重要通知,三秒后被撤回,聊天框里只剩一句"对方撤回了一条消息"。RevokeMsgPatcher 就是为此而生的开源防撤回工具:它直接修改 PC 版微信/QQ/TIM 的本地文件,让被撤回的消息原样保留在会话里,同时附带微信多开功能。
它到底能解决什么问题
这个工具围绕"消息撤回"这一个动作做了三件事:
- 防撤回:微信、QQ、TIM、QQ 轻聊版、QQNT、新版微信(Weixin)都在支持范围内。补丁生效后,别人撤回消息,你这边看到的内容不会被抹掉,只多出一句撤回提示。
- 微信多开:勾选"多开"后,同一台电脑可以同时登录两个微信账号,适合工作号和生活号分开使用。
- 可回退:修改前工具会自动备份原始文件,随时可以一键还原,不是"改了就回不去"的操作。
背后是怎么做到的
改的不是聊天记录,而是程序本身
聊天记录存在本地数据库里,防撤回插件靠"监听消息再存一份"也能实现。RevokeMsgPatcher 走了另一条路:它找到微信的WeChatWin.dll、QQ/TIM 的Bin\IM.dll中"处理撤回"的那段机器码,把其中一条"执行撤回"的指令改成"跳过撤回"。消息从头到尾都留在本地,不需要任何后台程序常驻,关掉补丁工具、重启电脑都不影响效果。
特征码匹配 + 自动备份
每次微信更新,DLL 里的字节都会变。工具的做法是为每个已支持的版本预存好"搜索字节 → 替换字节"的特征码(数据存放在 RevokeMsgPatcher.Assistant/Data/ 下的 patch.json 中)。安装时先校验文件 SHA1 和版本号确认匹配,再动手修改;修改前把原文件复制一份.bak备份文件,还原时直接拷回。匹配逻辑在 Matcher/ModifyFinder.cs,修改动作在 Modifier/FileHexEditor.cs,都是明文 C# 代码,可自行审计。
从零把它跑起来
环境要求
- Windows 7 及以上(不支持 XP)
- .NET Framework 4.5.2 或更高版本,低于此版本程序打开可能无反应或直接报错
- 安装前关闭微信/QQ/TIM
安装步骤
- 获取程序。从项目仓库 Releases 页面下载最新版压缩包,或执行
git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher(克隆源码后需自行编译解决方案 RevokeMsgPatcher.sln)。 - 右键
RevokeMsgPatcher.exe,选择"以管理员身份运行",等待右下角提示获取到最新补丁信息。 - 选择安装路径。安装版程序会自动从注册表读取路径;绿色版需手动浏览选择。
- 勾选"防撤回"(微信可再勾"多开"),点击"安装补丁"。界面会有一段时间无响应,属于正常现象。
- 杀毒软件弹出关于
WeChatWin.dll的警告时放行即可——这正是因为工具确实改了这个文件。
装好后的实际效果
打开微信,让同事或好友发一条消息然后撤回:对方界面显示"撤回了一条消息",而你的会话里原文照常显示,下方附带"对方撤回了一条消息"的提示。文件、图片、链接同理。
验证多开很简单:再启动一次微信,正常情况下会出现"微信正在运行"的提示;打上多开补丁后,第二个窗口可以正常登录另一个账号。
如果哪天想把一切恢复原样:重新打开 RevokeMsgPatcher,点击"备份还原",工具会用之前生成的.bak文件把 DLL 原样拷回。注意两点:微信/QQ/TIM 自身更新后补丁会失效,需要重新安装;重装系统或覆盖安装软件后备份文件不存在,也就无法还原。
常见问题与踩坑
Q:安装后防撤回没生效?确认微信已经完全退出(含托盘进程)再打补丁;确认软件版本在支持列表内。版本不对时工具会明确提示,而不是静默失败。
Q:杀毒软件报毒怎么办?被报的是被修改的WeChatWin.dll/IM.dll,属于预期行为。把工具加入白名单或临时放行即可。所有改动只发生在本地文件层面,工具不联网上传任何聊天记录。
Q:提示"已经安装了补丁"或"特征比对不一致"?说明该功能补丁已打上。取消勾选对应功能后再点安装,或先执行"备份还原"再重新打。
Q:绿色版微信识别不到路径?绿色版没有写入注册表,必须在第 3 步手动选择包含WeChat.exe的目录。
Q:不想用补丁实现多开,有独立工具吗?项目内附带一个通用微信多开工具(见 RevokeMsgPatcher.MultiInstance/),通过清理互斥句柄实现,无视微信版本。但如果你已经给微信打了多开补丁,两者二选一,不要叠加使用。
想继续深入
- 主程序入口与界面逻辑:RevokeMsgPatcher/FormMain.cs
- 各软件修改器(微信/QQ/TIM/QQNT 各一个类):RevokeMsgPatcher/Modifier/
- 模糊匹配算法,含对"已替换位置"的容错处理:RevokeMsgPatcher/Matcher/FuzzyMatcher.cs
- 补丁数据的结构与各版本特征码:RevokeMsgPatcher.Assistant/Data/2.1/patch.json
- 想理解字节级修改过程,可以看仓库自带的逆向图文笔记:Images/wiki/wechat/ 和 Images/wiki/qq/
RevokeMsgPatcher 的边界很清晰:它是本地二进制补丁工具,改的是你自己电脑上的文件,撤回与否的判断权始终在你手里。按上面步骤下载安装一次,找个人发条消息撤回试试,效果立刻可见。
【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考