三亩地 三亩地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

如果你的聊天记录里隔三差五就出现"某某撤回了一条消息",那么微信防撤回工具RevokeMsgPatcher值得你花三分钟了解一下——它是 Windows 下给微信/QQ/TIM 打防撤回补丁的免费开源程序,装上之后,被撤回的内容会原样留在聊天窗口里,谁来撤都撤不掉。

先讲一件朋友的真事。她做外贸那会儿,客户在群里把最终报价表发了出来,还附一句"就按这个走"。她正打算存档,消息秒被撤回,紧接着补了一句"价格我再确认下"。她凭记忆往下谈,半个月后才发现少算了一笔运费,白白亏了两千多。事后她翻遍聊天记录,那条撤回的消息像被橡皮擦擦过一样,一点痕迹都没留下。从那以后,她电脑上就常驻着这个工具——项目的口号说得很直白:"我已经看到了,撤回也没用了。"

一句话看懂:它是什么、解决什么、适合谁

RevokeMsgPatcher 的定位是一个**"智能十六进制补丁器"**。你不需要碰任何代码,它会在后台完成三件事:识别你机器上微信/QQ/TIM 的具体版本 → 从内置的补丁数据库里找到对应的修改方案 → 用一行字节替换,把程序里"撤回"这条分支短路掉。

它解决的是很多人的真实痛点:

  • 工作群里领导发完任务就撤回,你不好意思追问,只能靠猜,最后方向做错还得自己扛
  • 验证码、地址、下载链接这类一次性信息,撤回后基本等于人间蒸发
  • 谈好的报价、约定的时间没有文字凭证,事后容易各说各话

你需要的从来不是"偷看别人隐私",而是一份完整、可追溯的消息记录

它适合谁?很简单:只要你用 PC 版微信、QQ 或 TIM,又受够了"看到一半就被撤回"的憋屈,它就是给你准备的。全程图形界面,点鼠标就行,不需要任何编程基础。

支持哪些版本,一张表看清

软件修改的目标文件支持起始版本可用功能
微信 PC 版WeChatWin.dll2.6.6.28 起防撤回、多开
微信 4.x 新架构Weixin.dll4.0.0 起防撤回、多开
QQ PC 版IM.dll9.0.4 起防撤回
TIM PC 版IM.dll2.3.2 起防撤回
QQNT 新版 QQwrapper.node9.8.0.19000 起群聊防撤回

值得说明的是,老版本走"固定位置精准修改",新版本走"特征码智能匹配",所以只要特征还在,官方更新通常跟得很快。全部补丁数据放在RevokeMsgPatcher.Assistant/Data/目录下,按版本号分文件夹存放,随项目一起维护,这也是社区能持续跟进新版本的原因。

三步上手,记住"退、开、点"

整个流程我总结成三个字的节奏:退(退出软件)、(管理员打开)、(点安装)。照着做不会出错。

第一步:退——把目标软件彻底退出

微信/QQ/TIM 全部关掉,包括右下角托盘里的小图标。这一步最容易被忽略,程序进程不退出,文件被占用,后面的写入就会失败。稳妥起见,可以在任务管理器里确认进程列表里已经找不到它。

第二步:开——以管理员身份运行工具

右键点击 RevokeMsgPatcher,选择"以管理员身份运行"。否则后续向程序目录写文件时,可能因为权限不足直接报错。运行环境只需要两个条件:Windows 7 及以上(不支持 XP),以及.NET Framework 4.5.2 或更高

第三步:点——选路径、勾功能、按按钮

打开后程序会自动从注册表读取安装路径,同时联网获取最新补丁数据。如果你用的是绿色版或装在不常见的位置,点路径框右侧的"..."手动选择安装目录即可。

路径确认后,界面会显示当前版本号,并出现功能勾选框:

  • 防撤回:核心功能,必勾
  • 微信多开:微信专属的可选功能,后面会细说

如果版本号旁边显示"支持特征防撤回"的绿色字样,说明该版本已被适配,放心继续。点击"安装补丁!"后,程序会依次完成:用 SHA1 指纹核对文件是否是"原装货" → 匹配当前版本的修改方案 → 自动把原始文件复制一份.h.bak备份 → 在指定位置替换关键字节 → 改完后再校验一次 SHA1 确认手术成功。整个过程一分钟左右,期间界面短暂无响应是正常的,耐心等它跑完。

第一次操作,提前排掉这 5 个雷

  • 软件没退干净:托盘图标还在也算没退出。确认进程彻底结束后再打补丁。
  • 忘了管理员权限:报"拒绝访问"基本都是这个原因,重开一次即可。
  • 杀毒软件拦路:因为要改 DLL 文件,杀软误报很常见。把工具目录加入白名单放行即可;不放心的可以对照源码编译结果核对 SHA1,验证文件真实性。
  • 软件刚更新过:更新会把被改过的文件覆盖回原样,补丁自然失效。更新后重跑一次工具,几分钟搞定。
  • 之前用过别的补丁工具:文件已经被改过,SHA1 对不上,会提示校验不通过。先用"备份还原"恢复原文件,再重新打补丁。

原理大白话:撤回是一排"快递柜",补丁让柜门永不弹开

很多人都好奇:一个补丁怎么就让撤回失灵了?打个比方你就懂了。

把撤回功能想象成小区门口的一排快递柜:消息是已经存进格口的包裹,撤回动作则相当于输入取件码。原本你输对取件码,对应柜门就该弹开、把包裹取走(消息从聊天里消失)。RevokeMsgPatcher 干的活,相当于把柜子背后的"取件逻辑"整体掉了个包——不管输入什么码,柜门都纹丝不动。于是包裹永远待在原格口里,谁都取不走。

落到程序层面,事情其实更简单。当年研究这个的玩家,是在调试器里一步步把微信"解剖"开的:先把调试器附加到微信进程,拎出wechatwin.dll这个核心模块,然后搜索revokemsg之类的关键字符串,就能定位到撤回逻辑所在的那一小段代码:

紧跟着会看到一段典型的条件跳转指令——JE(相等则跳转),意思是"如果满足条件,就去执行撤回"。把它改成 JMP(无条件跳转)后,程序无论满不满足条件,都会直奔"不撤回"的出口:

改完之后,在补丁对话框里能看到类似74 -> EB的记录——74 是 JE 的机器码,EB 是 JMP 的机器码,这就是一次完整的"字节级外科手术":

补丁数据长什么样?打开RevokeMsgPatcher.Assistant/Data/下的 patch.json 就能看到,一个版本对应一条记录:

{ "Name": "IM.dll", "Version": "9.1.9.26346", "SHA1Before": "895eb70f707b8222e6460c91492b1281e525059b", "SHA1After": "0bb83990e2b5b5f23b7b43249941ff638201af54", "Changes": [ { "Position": 354270, "Content": [235, 9, 144, 144, 144] }, { "Position": 354811, "Content": [235, 9, 144, 144, 144] } ] }

这里235是十进制,就是0xEB(JMP 指令),1440x90(NOP 空操作,用来补齐指令长度)。SHA1Before是修改前的文件指纹,SHA1After是修改后的指纹——它既是校验依据,也是"这个文件是否已经打过补丁"的识别标志。

而对于频繁更新版本的新软件,固定位置不再可靠,工具改用特征码匹配:在 DLL 里搜索一段特征字节序列,命中后再替换其中的关键字节。所以哪怕软件更新了好几个小版本,只要特征没变,补丁依然有效。

进阶玩法:多开、新版 QQ 和独立小工具

微信多开,一次打补丁顺带解决。在勾选界面同时勾上"多开",一个补丁就让微信同时拥有防撤回和多开两项能力。原理同样是短路判断——微信启动时会检查是否已有实例在运行,依据是一个名叫WeChat_App_Instance_Identity_Mutex_Name的互斥锁:

把这个检查绕过,程序就会认为自己是"第一个进门的",第二个、第三个实例自然也能正常启动。对同时登录工作号和生活号的人来说,不用再装来路不明的第三方多开工具了。

新版 QQ(QQNT)也能防撤回。针对 9.8.0.19000 以上的 QQNT,工具通过修改wrapper.node文件实现群聊防撤回。2.0 之前的版本需要借助界面内置的 LiteLoaderQQNT 管理面板(RevokeMsgPatcher/Forms/FormLiteLoaderQQNT.cs)一键部署插件环境;2.1 之后换成了独立的特征码方案,依赖更少、装起来更省事。

只想单独用多开?项目还附带一个独立的通用微信多开工具(RevokeMsgPatcher.MultiInstance/),它通过清理微信的互斥句柄实现无视版本的多开,适合完全不想碰主程序的情况。

用之前,先记住这三条边界

工具再顺手,也有该守住的底线。

备份是底线。每次打补丁前工具都会自动生成.h.bak备份文件,放在软件安装目录里。建议自己也定期导出聊天记录,重要环境把整个安装目录拷贝一份,双保险。

更新要踩准节奏。新版软件发布后先别急着升级,看一眼工具的版本支持列表,确认适配了再更新,免得陷入"软件升了、补丁失效了"的循环。

合规与道德,心里要有杆秤。防撤回让你看到的是"对方本不希望你看到"的内容,本质上是改了对方单方面的操作预期。请把这项能力用在正当的信息留存上——保存工作安排、学习资料、交易凭证都没问题;不要拿它窥探隐私,更不要把他人的私密信息传播出去。技术没有立场,使用者的分寸感才是关键。

常见问题速答

Q:打补丁会影响聊天、转账、朋友圈这些功能吗?不会。补丁只动了与撤回判断相关的几个字节,其余代码原样未动,日常功能完全不受影响。

Q:软件一更新,补丁是不是就白打了?是的,更新会覆盖被改过的文件。重跑一次工具即可,.h.bak备份还在,操作很快。

Q:提示"文件校验不通过"是怎么回事?多半是文件已经被改动过——比如之前用过别的补丁工具。先用"备份还原"恢复原始文件,再重新打补丁。

Q:绿色版、免安装版能用吗?能。自动检测靠注册表,绿色版没有注册表记录,手动选择安装目录即可,补丁逻辑完全一样。

最后说两句

与其每次看到"撤回了一条消息"就拍大腿,不如花三分钟把这个免费的小工具装上。它不需要学习成本,也不干预你任何正常使用,只是默默帮你把聊天记录里的信息链补完整——尤其是那些"错过就再也找不回"的关键内容。

想从源码开始折腾的朋友,克隆仓库即可:

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

仓库里除了补丁本体,还有完整的文档和原理说明。如果你的软件版本恰好还没被收录,也欢迎去提 issue 或参与补丁数据的维护——一个好用的工具,背后总站着一群愿意维护它的人。把重要的消息留住在记录里,就是从这顿操作开始。🚀

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

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

← 返回列表