news 2026/8/22 17:34:54

撤回了的消息为什么还看得到?3 步装好微信防撤回和多开补丁

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
撤回了的消息为什么还看得到?3 步装好微信防撤回和多开补丁

撤回了的消息为什么还看得到?3 步装好微信防撤回和多开补丁

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

凌晨一点,群里有人撤回了一条消息,那行灰字一闪而过,内容再也看不到了。这种憋屈,开源项目 RevokeMsgPatcher 可以终结——它给 PC 版微信、QQ、TIM 打防撤回补丁,让被撤回的消息原样留在聊天记录里,顺带解锁微信多开。

它到底动了微信的哪里

RevokeMsgPatcher 是个纯 Windows 程序,跑在 .NET 框架上,干的事说起来很轻:打开微信、QQ、TIM 的核心 DLL(微信是WeChatWin.dll,QQ 和 TIM 是IM.dll),在精确的字节位置改写其中几个字节,让"收到撤回通知"这一步永远执行不到。

它不替换客户端、不动聊天记录数据库、不碰服务器端。跟换第三方客户端或改数据库的方案比,最本质的区别在于:装完它,用的还是官方原版,对方那边一切如常,照样显示"撤回了一条消息"。

核心能力速览

一个程序管住微信、QQ、TIM

界面上几个客户端各占一栏,背后是各写各的修改器:WechatModifier.csQQModifier.csTIMModifier.cs,连新架构的 QQNT 也有对应处理。每个版本该改哪个位置、改哪几个字节,全部以特征码形式存在RevokeMsgPatcher.Assistant/Data/下的patch.json里,按版本号归档。点一下按钮,程序自己查表、定位、下刀,全程不用手动找地址。

防撤回之外,顺手解锁微信多开

微信默认只允许一个实例,靠一个互斥体(Mutex)认锁:第二个微信启动时一看锁在,直接退场。补丁把这步检查跳过,个人号和工作号就能同时挂着。我第一次装它本来是冲防撤回去的,用了一阵才发现多开更实用——开会时工作号在线,私人号照挂,不用来回退号扫码。嫌改 DLL 麻烦的话,仓库里还有个独立的RevokeMsgPatcher.MultiInstance多开小工具,不动主程序也能用。

下刀前先验货,改坏了能回滚

动手之前先核对原文件的 SHA1 哈希,改完再校验一遍,确保只动了该动的字节。打补丁前会自动备份一份.bak,觉得不对劲就一键还原成官方原版;就算改到一半出错,已经改过的文件也会自动回退,不会留下半残文件。

上手指南:3 步装好补丁

  1. 先确认系统:Windows 7 SP1 及以上、.NET Framework 4.5.2 以上,Win10 一般自带。版本不够程序会直接报错,卡住先查这里。
  2. 把微信彻底退掉:关窗口不算,右下角托盘图标也得退出。DLL 被进程占着就写不进去,我第一次装就是栽在这一步。
  3. 右键"以管理员身份运行",等右下角拉取最新补丁数据,然后选客户端和路径。安装版会自动识别,绿色版手动指一下WeChat.exe所在位置,勾选"防撤回"和"多开",点安装。进度条跑完的瞬间杀毒软件大概率会报警,这是改写核心 DLL 引起的误判,确认来源没问题就放行。

重启微信后,用小号给自己发一条再撤回,内容还躺在聊天框里就算生效了。

原理拆解:让撤回电话永远打不通

把本地微信想成一家餐厅:每条消息是端上桌的菜品,撤回是发件人打电话要求"把这道菜撤下去",服务员(处理撤回的那段代码)一接电话就把菜端走了。RevokeMsgPatcher 干的事,是让服务员对这种电话永久装聋——电话照接,菜照放,桌上东西一点不少。

代码层面就是改一条跳转:原来写的是"如果这是撤回请求,就跳去执行删除",补丁把这条条件跳转废掉(把je改成jmp的否定方向),删除逻辑从此轮不到执行。当年作者是在调试器里手搜revokemsg这个字符串找到的位置:

后来这套逆向过程被自动化:特征码预置在数据文件里,程序用 Boyer-Moore 算法在 DLL 里快速定位(实现见Matcher/BoyerMooreMatcher.cs),前后双重校验,只管点一次"安装补丁"。

常见问题,动手前看一眼

现象原因解法
提示文件被占用、装不上微信没退干净(含托盘进程)任务管理器结束WeChat.exe再重试
打补丁时杀毒软件报警改写核心 DLL 被误判确认仓库来源后放行,或加入信任区
客户端更新后防撤回失效更新覆盖了被改过的文件管理员身份重新装一次,顺手关掉自动更新
提示"已安装过此补丁"文件校验出已经被改过不用重复操作,需要时先还原再重装

提醒一句:这类修改只适合留给自己的重要记录,别拿它去看别人的隐私。

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

装好这一次,往后被撤走的就再也撤不走了。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 17:34:01

星露谷农场规划器:免费打造完美农场布局的互动工具

星露谷农场规划器:免费打造完美农场布局的互动工具 【免费下载链接】stardewplanner Stardew Valley farm planner 项目地址: https://gitcode.com/gh_mirrors/st/stardewplanner 游戏里放好谷仓才发现门口没有路,洒水器又盖不住角落那片玉米地。…

作者头像 李华
网站建设 2026/8/22 17:33:56

C++继承与多态万字精讲:继承权限、菱形继承痛点、虚函数底层、重写重载区别、抽象类、面试绝杀

一、前言:为什么继承和多态是C灵魂?我们吃透了C语法、内存模型、深浅拷贝、类四大默认函数、STL全套,已经掌握了单一类的开发能力。但真正的工程开发、框架设计、大型项目架构,绝对不会只写独立类,而是依靠继承 多态实…

作者头像 李华
网站建设 2026/8/22 17:31:15

DBA 为什么现在必须学一点 AI?

如果把时间往前推几年,DBA 的技术栈其实相对稳定。 Oracle DBA 主要围绕 SQL、执行计划、AWR、ASH、RAC、Data Guard、RMAN、ASM;MySQL DBA 则会关注复制、InnoDB、慢 SQL、锁、Buffer Pool、备份恢复。再往外扩一点,无非是 Linux、Shell、Py…

作者头像 李华
网站建设 2026/8/22 17:28:29

C++可变参数模板:从类型安全变长参数到编译期递归展开

1. 从“固定”到“无限”:为什么我们需要可变参数模板在C98/03的时代,如果你想让一个函数或类模板接受任意数量的参数,那几乎是一场噩梦。你只能通过函数重载,为1个、2个、3个……参数分别写一个版本,这不仅代码冗余&a…

作者头像 李华
网站建设 2026/8/22 17:26:12

免费开源宏录制工具 PyMacroRecord:录一遍,自动重放一万遍

免费开源宏录制工具 PyMacroRecord:录一遍,自动重放一万遍 【免费下载链接】PyMacroRecord Free and Open Source Macro Recorder with a modern GUI using Python 项目地址: https://gitcode.com/gh_mirrors/py/PyMacroRecord 你每天重复同样的点…

作者头像 李华