三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

微信防撤回补丁实测手记:RevokeMsgPatcher 让被撤回的消息再也逃不掉

微信防撤回补丁实测手记:RevokeMsgPatcher 让被撤回的消息再也逃不掉

微信防撤回补丁实测手记:RevokeMsgPatcher 让被撤回的消息再也逃不掉

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

被撤回的消息到底说了什么?这是每个用微信、QQ 的人都经历过的遗憾。RevokeMsgPatcher 是一款开源的 Windows 微信防撤回补丁,专治聊天记录被撤回的无奈,支持微信、QQ、TIM 等主流通讯软件,让重要信息再也逃不出你的聊天框。这篇文章不是官方说明书,而是我亲身从下载、安装、踩坑到验证成功的完整记录,希望给同样需要它的人一条最短路径。

它到底能保住哪些消息?一张表看懂支持范围

先说结论:它不是"万能钥匙",但覆盖面比想象中广得多。官方内置的补丁数据库覆盖了从微信 2.x 到 4.x、QQ 9.x、TIM 等多个大版本,具体如下:

通讯软件支持情况主要功能
微信 PC 版(旧版 WeChat)广泛支持防撤回 + 多开
微信 4.0 新版(Weixin)已适配防撤回 + 多开
QQ 经典版支持防撤回
新版 QQ(NT 架构)已适配群聊防撤回
TIM支持防撤回
QQ 轻聊版支持防撤回

看到这个表你就明白了,无论你主力用的是微信还是 QQ 系,它基本都能覆盖。唯一需要注意的是:通讯软件版本太新、作者还没来得及适配时,需要等一等,这是后话。

3 分钟完成安装:从下载到生效的完整流程

先说我的电脑环境:Windows 10,装了 .NET Framework 4.5.2 以上,所以没有任何环境问题。如果你还在用老系统,请先确认满足这两个前提:

  • 操作系统 Windows 7 SP1 及以上(不支持 XP)
  • 运行环境 .NET Framework 4.5.2 及以上

环境没问题的话,整个安装过程真的只要 3 分钟,而且全程有图形界面,不需要敲任何命令。我按顺序做了一遍:

  1. 先彻底退出微信。这一步最容易漏,微信还开着的时候直接打补丁会失败。
  2. 右键"以管理员身份运行"补丁程序。它会联网拉取最新的补丁数据,稍等几秒。
  3. 选择软件类型和路径。我用的安装版微信,路径被自动识别出来了;如果你用绿色版,就手动指定一下wechat.exe的位置。
  4. 勾选功能。微信用户会看到"防撤回"和"多开"两个选项,我两个都勾了。
  5. 点击"安装补丁",等待界面上的进度条走完,就大功告成了。

唯一让我紧张了一下的是:杀毒软件在我点下按钮后立刻弹出了警告。这里要专门解释一句——这是正常的。因为补丁的本质是改写微信的WeChatWin.dll、QQ/TIM 的IM.dll这类核心文件,杀毒软件不认识这种改动就会报警,选择"允许"或"信任"即可。如果你的杀毒软件过于激进,也可以先把补丁目录加入白名单再操作。

如何确认防撤回真的生效(附自测方法)

打补丁这种事,不亲眼看一次总是心里没底。我的验证方法很简单:用另一台设备(或者一个不常用的小号)给自己发一条消息,然后当着我的面撤回。如果那条消息依然原样留在聊天框里,并且在"聊天记录"里也查得到,就说明补丁生效了。

这里有个细节值得注意:补丁生效后,对方屏幕上依然会正常显示"你撤回了一条消息",也就是说只有你自己能保住内容,对方没有任何察觉。从使用体验上说,这就是最理想的状态——不打扰别人,只保护自己。

原理其实很简单:像给撤回命令装了个开关

很多朋友听到"改二进制"就头大,其实把它拆开看一点都不神秘。微信在收到撤回指令后,会执行一段"删除消息"的代码;RevokeMsgPatcher 做的事情,就是在这段代码里找到那个决定"删还是不删"的跳转指令,把它改成永远不跳转到删除逻辑。

打个比方:原本的程序是一扇门,收到"撤回"命令就把门打开让消息溜走;补丁相当于把这扇门的门锁焊死了,命令照发,但门再也打不开。特征字符串和跳转指令在调试器里长什么样,下面这几张图可以给你一个直观印象:

你可能会问:每次微信更新都要手动这么折腾吗?当然不用。这正是这个项目最聪明的地方——它把上述逆向过程做成了自动化。所有已知版本的特征码和修改位置都预置在RevokeMsgPatcher.Assistant/Data/目录下的补丁数据里,程序用 Boyer-Moore 算法在文件里快速定位特征串(这部分实现在RevokeMsgPatcher/Matcher/BoyerMooreMatcher.cs),修改前核对原文件哈希、修改后再次校验,确保不会改错地方。也就是说,你只需要点一下按钮,剩下的脏活累活它全包了。

意外收获:微信多开功能也一并解决了

很多人装这个工具是为了防撤回,结果用着用着发现,微信多开这个刚需也被顺手解决了。个人号、工作号、家庭群分开登录,不用再一台电脑来回退出切换,工作效率明显不一样。

多开背后的机制同样不复杂:微信靠一个叫"互斥体(Mutex)"的机制判断"是否已经有实例在运行",就像刷卡进门,刷到同一张卡就被挡在外面。逆向人员在调试器里找到的关键字符串长这样:

RevokeMsgPatcher 会在打防撤回补丁的同时,把这个"门禁卡"的检查逻辑一并处理掉,让第二个、第三个微信都能顺利启动。如果你暂时不想动主程序,项目还附带了一个独立的微信多开小工具(RevokeMsgPatcher.MultiInstance),一键清理互斥句柄,无视微信版本号就能多开。

⚠️ 提醒:如果你已经用主程序给微信打过包含"多开"的补丁,就不要再叠加使用多开小工具了,两者会重复、冲突。

软件更新后失效?两步重新打补丁

这是几乎所有用户都会遇到的坑:某天微信自动更新,防撤回突然就失效了。别慌,这是设计使然——更新会覆盖被修改过的 DLL 文件,补丁自然被冲掉。解决办法就两步:

  1. 关闭微信,重新以管理员身份运行 RevokeMsgPatcher;
  2. 再次点击"安装补丁",几秒钟恢复如初。

如果你不想频繁操作,也可以在微信设置里关掉自动更新。另外,程序里自带的"备份还原"功能一定要记住:它会在打补丁前自动生成.bak备份,任何一次操作出问题,一键就能回到官方原版文件,完全不用自己手动备份。

三个诚实的提醒,用之前请看完

作为用了一段时间的真实用户,我觉得有几点必须提前说清楚:

  • 这是修改官方程序文件的操作,属于灰色地带。请把它用在个人合理使用范围内,比如保存工作通知、重要聊天记录,而不是用来窃取他人隐私。
  • 杀毒软件报警是常态,因为补丁会改写核心 DLL。放行前请确认你下载的是官方仓库的版本,别从不明渠道随便下载"修改版"。
  • 新版本通讯软件需要等适配。如果你用的是刚发布的最新版,作者还没来得及更新特征库,补丁可能会提示"未找到特征"。这时候耐心等版本更新即可,不要强行操作。

写在最后

回到文章开头那个场景:领导撤回的那条通知,从此再也不会变成我的"未解之谜"。装上 RevokeMsgPatcher 之后,那种"眼睁睁看着消息消失却无能为力"的焦虑感彻底消失了——重要的通知、来不及看的文件、对方一时手误撤回的内容,都安安静静地躺在聊天记录里,随时可以回看。

如果你也受够了"撤回"带来的信息焦虑,现在就可以从 GitCode 仓库获取它:

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

花 3 分钟安装,从此撤回只是对方的"徒劳"。请记住,工具的价值在于合理使用——守住自己该看的信息,尊重别人撤回的权利,这才是最舒服的相处方式。

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

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

← 返回列表