ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

消息刚发出就被撤回?改 2 个字节,让微信 QQ 的撤回键从此失灵

2026/8/17 17:22:22 拓冰建站 浏览量
消息刚发出就被撤回?改 2 个字节,让微信 QQ 的撤回键从此失灵 消息刚发出就被撤回改 2 个字节让微信 QQ 的撤回键从此失灵【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher对方刚发的消息眨眼就被撤回了你连内容都没看清。更气的是这种事隔三差五就来一次。而有一个开源工具能让这条消息在你屏幕上赖着不走——它叫RevokeMsgPatcher一个专门给 PC 端微信 / QQ / TIM 用的防撤回工具通过改动程序文件让对方的撤回指令在你这里彻底失效。这篇教程把它的原理、用法和坑一次讲透新手照着做就能搞定。先回答那个反常识的问题撤回到底是谁说了算很多人以为撤回 消息从服务器上删掉了。其实不是。真正的流程是这样的你发出消息内容先存在服务器上你点撤回服务器给所有接收方发一条撤回指令接收方的客户端收到指令后把这条消息从聊天窗口里抹掉。看见没有最终执行删除的动作发生在你本地的客户端里。撤回不是什么魔法它只是一段等待执行的程序逻辑。那 RevokeMsgPatcher 的思路就非常直接了既然决定权在本地那就把本地程序文件里允许撤回的那段逻辑直接改掉。改完之后对方照样点撤回但你的客户端选择无视这条指令——消息原地不动稳稳躺在聊天记录里。它和同类工具最大的差别在于两点全自动版本匹配内置了大量历史版本的补丁数据打开就能识别你电脑里的软件版本不用自己找特征码改前备份、改后校验动手前先把原文件复制一份改完再核对指纹出问题随时能还原。而且它不联网、不碰你的聊天记录、不读取任何隐私纯粹是对本地文件做精准修改改完即用。原理拆开看一把被焊死的撤回开关不懂编程也能看懂原理我们把它拆成两层。第一层找到开关。程序里的撤回动作本质是一句判断——如果满足条件就执行撤回。这句话对应的机器码就藏在 WeChatWin.dll、IM.dll 这类文件里。开发者用调试器附加微信进程搜索revokemsg之类的关键字符串就能精准定位到这段代码的位置。第二层焊死开关。找到位置后把关键的条件跳转指令JE机器码 0x74改成无条件跳转JMP机器码 0xEB。你可以把它想象成程序原本是一道要不要执行撤回的判断题改完之后变成了一张永远答否的固定答卷——回不到撤回分支消息自然删不掉。不同版本的程序文件长不一样所以工具用一份patch.json配置清单记录改哪里、改成什么。比如微信某个版本的记录大致长这样简化示意{ target: WeChatWin.dll, version: 3.3.5.25, sha1Before: 3e94753ccbc2799d98f3c741377e99bdae33b4cf, sha1After: ab98f83fc16674ac4911380882c79c3ca4c2fd71, changes: [ { position: 3413977, content: [235] }, { position: 12159591, content: [235] } ] }其中sha1Before是修改前的文件指纹用来确认没改错文件changes记录的是在哪个字节位置写入哪个新值。这套指纹比对 定点修改的机制保证了操作既精准又安全。上面这些调试截图是项目仓库里手动打补丁教程的配图。而 RevokeMsgPatcher 本身是图形化工具把这套搜索定位、修改字节的繁琐流程全部自动化了——你只需要点几下按钮。动手前的三件事少一件都可能翻车打补丁之前先确认三件事缺一不可系统环境需要 Windows 7 或更高版本不支持 XP并且装好.NET Framework 4.5.2 或更高版本。低于这个版本程序可能打开没反应或者直接报错。管理员权限必须右键以管理员身份运行工具。因为要往系统目录里写文件没有权限会写入失败。备份意识工具会自动生成原文件的备份位置就在软件安装目录附近。留着它出了任何问题都能一键还原。另外记住一个关键结论软件每次更新都会覆盖掉你改过的文件补丁随之失效需要重新打一次。这不是工具的问题而是机制如此。给微信打上防撤回补丁四步照着走这是大家问得最多的场景以微信为例走一遍完整流程。第 1 步把微信退干净动作右键托盘图标 → 退出微信确保任务管理器里看不到 WeChat.exe。为什么要这么做微信正在运行时WeChatWin.dll 被进程占用文件写不进去补丁会失败。预期微信窗口和托盘图标全部消失系统进程列表里没有微信相关进程。第 2 步以管理员身份运行工具动作右键 RevokeMsgPatcher → 以管理员身份运行。为什么要这么做修改 DLL 需要写盘权限普通权限会被系统拒绝。预期程序启动后自动扫描常见安装位置并识别出你的微信版本。这里容易翻车如果你是绿色版、便携版微信注册表里没有安装记录就需要点…按钮手动找到安装目录。第 3 步选中微信点防撤回动作界面里选中微信 → 点击防撤回按钮。为什么要这么做工具会自动完成五件事——校验文件完整性 → 匹配对应版本补丁 → 生成备份 → 写入修改 → 复查结果。预期界面可能出现一小段时间无响应这是正常的它正在读写几百 MB 的 DLL杀毒软件弹出警告时点放行别中途关程序。部分新版本微信会弹出防撤回老/ 防撤回带提示新的二选一提示。两种都能防撤回区别在于前者更干净但新版可能出现撤回自己消息不断转圈的情况后者保留已撤回提示但部分历史消息防不了。按提示选一个即可。下面这张图是手动调试教程里的修补文件窗口——勾选要改的指令后写入 DLL。工具做的就是把这一步完全自动化。第 4 步重启微信验证动作重新启动微信找朋友配合发一条消息再撤回。预期对方那边显示已撤回而你这边消息原封不动。到这里微信防撤回就设置成功了。QQ 和 TIM 照方抓药换了个文件而已同样的思路换个软件而已。支持的软件和核心文件整理成了一张表软件需要修改的核心文件覆盖版本获得的能力微信 PC 版WeChatWin.dll2.6.6.28 起防撤回、多开微信 4.xWeixin.dll4.0.0.0 起防撤回、多开QQ PC 版IM.dll9.0.4.23786 起防撤回TIMIM.dll2.3.2.21173 起防撤回QQNT 版wrapper.node9.8.0.19000 以上群聊防撤回操作流程和微信完全一致完全退出 → 管理员运行工具 → 选中对应软件 → 点防撤回。调试定位的思路也相同都是先附加进程再按字符串搜索定位关键代码。补丁打不上按这张排查表逐条过补丁失败的场景翻来覆去就那么几种按顺序排查基本都能解决现象大概率原因处理动作处理结果程序打不开、没反应.NET Framework 版本过低安装 .NET Framework 4.5.2 及以上版本程序正常启动提示补丁失败软件没退干净DLL 被占用托盘退出 任务管理器确认无残留进程重新打补丁成功提示补丁失败没有管理员权限右键以管理员身份重新运行写入成功提示版本不支持软件版本太新不在内置列表查看项目文档里的手动打补丁图文教程或等新版本适配手动适配或更新工具后成功杀毒软件报毒、拦截修改程序文件的行为特征像病毒把工具加入信任列表或暂时放行正常完成写入打完补丁没效果微信更新后文件被覆盖重新打一次补丁恢复防撤回进阶玩法一台电脑同时登录几个微信如果你需要同时登录多个微信账号一个工作号、一个生活号这个工具也能顺手解决。多开的原理同样是改一处开关。微信靠一个叫**互斥锁Mutex**的机制限制单实例运行名称类似WeChat_App_Instance_Identity_Mutex_Name。找到互斥锁相关的代码绕过它多开就成立了。操作时在界面勾选多开选项再打补丁即可。之后就能同时运行多个微信实例各自登录不同账号互不干扰。项目还附带了一个独立的通用微信多开工具需要的话也能单独使用。用之前想清楚这三条边界第一别丢备份。工具自动生成的备份文件是你的后悔药出了任何问题都能还原别手贱删掉。第二更新节奏要跟上。软件升级 补丁失效。把升级后重打补丁当成肌肉记忆或者关注项目动态等新版本适配后再更新。第三想清楚使用边界。防撤回保护的是你自己的信息知情权请把它用在自己有权看到的聊天内容上别拿它去窥探他人隐私。另外修改官方客户端程序的行为可能涉及软件服务条款和合规问题用之前自己权衡清楚风险自负。撤回是对方的自由看完整条消息是你的权利。把这个开关焊死别再让重要的消息说没就没。现在就可以动手了把微信退干净以管理员身份运行工具亲手验证一次——你会发现那句消息已被撤回从此再也骗不了你。想继续深挖源码、查看历史版本补丁数据或者给项目提建议可以直接克隆仓库git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher仓库里的README.md记录了完整的支持版本清单和使用方法Images/wiki/目录下还有微信、QQ 两套手动打补丁的图文教程RevokeMsgPatcher.Assistant/Data/里则是各版本对应的补丁数据适合想自己动手研究原理的朋友。【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考