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

日记详情

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

微信防撤回补丁 RevokeMsgPatcher 上手指南:4 步让被撤回的消息永久可见

微信防撤回补丁 RevokeMsgPatcher 上手指南:4 步让被撤回的消息永久可见

微信防撤回补丁 RevokeMsgPatcher 上手指南:4 步让被撤回的消息永久可见

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

晚上九点,工作群弹出一条消息,你刚点开,它消失了,只剩一行灰字:"某某撤回了一条消息"。被撤回的往往是任务安排、地址链接、优惠口令这类最要紧的内容。而RevokeMsgPatcher——一款免费开源的 PC 版微信/QQ/TIM 防撤回补丁,正是冲着解决这个痛点来的。

先记住一个反常识的事实:消息从来不会被真正"删除",它早就以文件形式躺在了对方的电脑硬盘里。撤回,只是程序收到指令后执行的一次本地删除。RevokeMsgPatcher 干的事,就是让这条删除指令变成废纸——对方撤回的每条消息,都原样留在你的聊天记录里

有它和没它,生活完全是两个剧本:

场景没打补丁打过补丁之后
领导发完任务安排又撤回只剩一句"已撤回",方向全靠猜原文本分毫不动,照做就行
群里有人发干货又秒撤后来的人看不到前因后果讨论上下文始终完整
验证码、地址、下载链接被撤回干瞪眼,只能厚着脸皮再要聊天记录里随时可翻
谈好的报价、约定被撤回口说无凭,事后扯皮白纸黑字,凭证就在眼前

从下载到验证,全程只要 4 个动作 🛠️

动手之前先确认两件事:系统是 Windows 7 及以上(不支持 XP),装好了 .NET Framework 4.5.2 或更高版本。满足之后,跟着走:

① 下载工具。直接拿发布页的预编译压缩包,解压即用,绿色免安装。想从源码自己编译也行,克隆仓库:git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher

② 彻底退出目标软件。微信/QQ/TIM 全部退出,右下角托盘图标也要右键退出。这一步最容易被忽略——补丁要写 DLL 文件,进程还占着文件,写不进去自然失败。

③ 以管理员身份运行。右键程序图标选"以管理员身份运行"。启动后它会自动从注册表读取软件安装路径,稍等右下角提示获取到最新补丁信息。

④ 勾选、点击、验证。窗口里确认路径和版本号,勾上"防撤回"(想多开就把"多开"也勾上),点"安装补丁!"。

等它跑完,重启微信发条测试消息再撤回——消息会纹丝不动地留在聊天窗口里。

特别提醒:最容易翻车的三个地方——没退干净进程就开打、不用管理员权限导致写文件被拒、打补丁时界面卡住几秒就以为死机。卡住其实是它正在校验文件哈希和写盘,耐心等就好。杀毒软件大概率会弹窗,因为它检测到你在修改 DLL,放行即可。

补丁到底改了什么东西?讲个驿站管理员的故事 🔧

你发消息,相当于快递员把包裹塞进了对方的驿站柜子;对方撤回消息,相当于打电话让驿站"把包裹退回来"。正常流程里,驿站管理员(程序里负责处理撤回的代码)接到电话就去开柜取件。RevokeMsgPatcher 做的事,是给这位管理员"做了手脚":

  • 让他一接电话就挂断。补丁把撤回处理函数开头的字节 55(push ebp,函数开场白)改成 C3(ret,立即返回)。函数一被调用就立刻"下班",删除动作根本执行不到。
  • 把"看情况办"改成"永远办不成"。补丁把关键的条件跳转 74(JE,满足条件才跳)改成 EB(JMP,无条件跳),绕过判断逻辑,撤回流程直接走进死胡同。

下面这张调试器截图就是真实的补丁明细——一条 74→EB,一条 55→C3,改动小到只有几个字节。

这些修改位置不是靠猜,而是记录在项目RevokeMsgPatcher.Assistant/Data/目录下的 patch.json 里,一个版本对应一条记录:

{ "Name": "WeChatWin.dll", "Version": "3.3.5.25", "SHA1Before": "3e94753ccbc2799d98f3c741377e99bdae33b4cf", "SHA1After": "ab98f83fc16674ac4911380882c79c3ca4c2fd71", "Changes": [ { "Position": 3413977, "Content": [235] }, { "Position": 12159591, "Content": [235] } ] }

这里的235是十进制,就是0xEB(JMP 无条件跳转)。老版本走固定位置精准修改,新版本改用特征码匹配,所以微信、QQ 更新小版本后,补丁往往很快就能跟上。目前项目的覆盖范围:

目标软件修改的核心文件起步版本可用功能
微信 PC 版(3.x)WeChatWin.dll2.6.6.28防撤回、微信多开
微信 4.x 新架构Weixin.dll4.0.0防撤回、微信多开
QQIM.dll9.0.4防撤回
TIMIM.dll2.3.2防撤回
新版 QQ(QQNT)wrapper.node9.8.0.19000群聊防撤回

别人踩过的坑,帮你提前排掉 ⚠️

软件一更新,补丁就失效?正常。微信/QQ/TIM 更新时会覆盖被改过的 DLL,补丁跟着失效。再打开工具点一次"安装补丁"即可,备份还在,几秒钟的事。

杀毒软件报毒怎么办?工具要修改 DLL,触发误报很正常。把工具目录加进白名单,或者用源码自行编译后对照 SHA1 验证文件真实性。

提示"文件校验不通过"?大概率你之前用过别的补丁工具,文件已被改过,跟内置的 SHA1 指纹对不上。先在工具里点"备份还原"恢复原始文件,再重新打补丁。

打补丁时程序卡住没反应?要么是杀毒软件正在扫描,要么是目标进程没退干净。等两分钟,或确认软件彻底关闭后再试。

绿色版/便携版能用吗?能。自动检测依赖注册表,绿色版没有注册表记录,点路径框右侧的"..."手动选择安装目录即可,逻辑完全一样。

进阶玩法:微信多开与新版 QQ 群聊防撤回 ⭐

微信多开,一次补丁两件事。在勾选界面同时勾上"多开",微信就同时拥有防撤回和多开能力。原理是把"检查是否已有微信实例在运行"的互斥锁判断绕过去——下图中调试器搜索到的WeChat_App_Instance_Identity_Mutex_Name就是这把锁的名字。

不想碰主程序的话,项目还附带了一个独立的通用微信多开工具(RevokeMsgPatcher.MultiInstance/),专治各种版本的多开需求,适合只想用多开、不想动防撤回的用户。

动手之前,先把这三条边界记住 🧭

  • 备份是底线。每次打补丁前,工具都会把原始文件复制为.h.bak备份,存放在软件安装目录。别删它,"备份还原"就靠它。也建议你定期单独备份聊天记录,双保险。
  • 更新要慢半拍。新版本软件发布后先别急着升级,看一眼工具的版本支持情况,确认适配了再更新,避免"软件升级了、补丁失效了"的尴尬。
  • 能力越大,越要守分寸。防撤回本质是改变了"对方撤回=对方删除"的预期。请把这项能力用在留存工作安排、学习资料、交易凭证等正当用途上,不要窥探、传播他人撤回的隐私内容。工具本身没有立场,分寸在你自己手里。

写到最后,帮你复查一遍 ✅

到这里,四件事都交代完了:它是什么、4 步怎么用、底层改了什么、还有哪些坑和进阶玩法。如果你照着做卡住了,翻回上面的"踩坑清单"对照一遍,九成问题都能自己解决。

剩下的就交给你了。关掉微信,右键以管理员身份运行 RevokeMsgPatcher,勾上防撤回,点一下"安装补丁!",重启微信发条测试消息。当那条本该被撤回的消息依然稳稳躺在聊天记录里时,你就真正拿回了完整的信息链。这一次,重要消息不会再消失在"撤回"两个字里。🚀

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

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

← 返回列表