消息发出就被撤回?这款开源补丁让微信/QQ/TIM消息永久可见

发布时间:2026/10/7 5:23:05

消息发出就被撤回?这款开源补丁让微信/QQ/TIM消息永久可见 消息发出就被撤回这款开源补丁让微信/QQ/TIM消息永久可见【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcherRevokeMsgPatcher 是一款面向 Windows 的开源补丁工具专门针对 PC 版微信、QQ、TIM 的消息已撤回功能打上补丁后对方撤回的消息会原样留在聊天记录里同时它还顺带解决了微信多开。普通用户只需点几下鼠标想深究原理的爱好者也能在源码里找到完整答案。先盘点痛点被秒撤的消息里哪些最让人意难平回想一下这些似曾相识的画面同事发来一份项目排期文档你刚点了保存消息就变成了对方撤回了一条消息客户确认了报价你正要截图留证价格条款瞬间消失朋友分享的学习资料链接只在你眼前闪了两秒群里有人发通知又撤回后面跟着一堆问号没人知道说了什么。问题在于撤回的一方往往不会重新发送而没看到的信息就是彻底错过的信息。防撤回补丁的价值是把你已经收到的内容稳稳留在屏幕上不让任何一方有反悔的机会。如果你也为此错过过东西RevokeMsgPatcher 值得花十分钟装一次。微信消息防撤回工具能用前请先确认这4项环境条件打补丁本质上是在改动程序文件所以环境不对会直接失败。安装前请对照下面这张表自查检查项要求怎么确认操作系统Windows 7 及以上不支持 XP右键此电脑→属性运行框架.NET Framework 4.5.2 或更高低于此版本程序可能无反应目标软件微信 / QQ / TIM 已安装且已完全关闭检查右下角托盘是否还有残留进程权限以管理员身份运行右键补丁程序→以管理员身份运行版本方面不用太担心。项目内置了覆盖多年的补丁数据微信从 2.6.6 一路覆盖到 4.x 新版4.0 之后的文件是 Weixin.dllQQ 覆盖 9.0.4.23786 至 9.4.7TIM 覆盖 2.3.2 至 3.4.0还包括新架构的 QQNT。补丁数据按版本分目录存放例如RevokeMsgPatcher.Assistant/Data/下有 0.7 到 2.1 各版本的patch.json工具启动时会自动拉取匹配当前版本的那一份。PC端防撤回软件怎么用微信/QQ/TIM三端打补丁步骤整个操作走一遍也就两三分钟。下面这段代码是从源码仓库克隆项目、用 Visual Studio 自行编译的命令适合想亲手构建的开发者git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher cd RevokeMsgPatcher执行后你就拿到了完整的工程文件双击RevokeMsgPatcher.sln即可编译不想折腾编译的话直接用发布页的预编译版本效果完全一样。拿到程序后的操作步骤如下关闭微信/QQ/TIM右键以管理员身份运行 RevokeMsgPatcher在程序主界面切换到你要处理的目标微信/QQ/TIM 三选一软件会自动从注册表读取安装路径绿色版装的应用则需要手动点击…按钮指定目录勾选需要的功能防撤回、多开点安装补丁等待几秒重新启动对应软件补丁即生效。主界面长这样——左上角选择目标软件中间显示当前版本和可勾选的功能右下角是安装和还原按钮点击安装后程序会按顺序做四件事校验文件完整性 → 按版本和哈希匹配补丁数据 → 把原始 DLL 备份成*.h.bak文件 → 写入修改并确认结果。下图就是补丁实际写入时的画面左侧是待修改的字节右侧列出每条改动比如74 - EB这类指令替换万一以后想恢复原状回到程序点备份还原即可几秒钟回到未打补丁的状态。唯一的注意点微信/QQ/TIM 升级版本后补丁会被新文件覆盖需要重新安装一遍。防撤回补丁的原理把条件跳转改成无条件跳转这部分不难理解先记住一个背景PC 端聊天软件把是否撤回实现为一段程序判断。当收到撤回指令时程序先检查消息状态满足条件就跳去执行从聊天记录里移除这条消息的逻辑。用汇编写出来大致是这样; 打补丁前条件满足才跳去执行撤回逻辑 test eax, eax jge do_revoke ; 7D xx满足条件才跳转 ; 打补丁后不管条件如何直接跳过撤回逻辑 test eax, eax jmp skip_revoke ; EB xx无条件跳转看出差别了吗jge大于等于则跳和jmp无条件跳之间只差一个操作码字节。工具做的就是把74/7D这类条件跳转字节替换成EB让删除消息的代码永远不被走到。一次只改一两个字节不动其他任何功能这正是这种方案稳定、干净的原因。如何定位该改哪里靠的是特征码。项目用一条字节序列作为锚点其中63是通配符?的 ASCII 码正好是 63表示该位置字节不参与匹配。以微信 4.0 的防撤回特征为例节选{ Category: 防撤回, Search: [117, 33, 72, 184, 114, 101, 118, 111, 107, 101, 109, 115, ...], Replace: [235, 33, 72, 184, 114, 101, 118, 111, 107, 101, 109, 115, ...] }Search是在 DLL 里要查找的原始字节Replace是找到后替换成的新字节。留意中间那一串114, 101, 118, 111, 107, 101, 109, 115它们正是revokemsg的 ASCII 编码——特征码就锚定在程序自己的逻辑字符上。替换后首字节从117JNZ 条件跳转变成235JMP 无条件跳转程序遇到撤回指令时不再看脸色行事消息从此留在聊天记录里。当初逆向工程师正是这样一步步定位的先用调试器附加微信进程在内存里搜索revokemsg字符串锁定判断逻辑再动手修改跳转指令。下面的截图就是搜索到关键字符串时的画面而下面这张图则直观展示了条件跳转改无条件跳转的现场——被红色标记的je指令就是下手点顺带一提补丁支持两种匹配方式老版本走精准匹配用 SHA1 哈希确认文件版本后在固定位置写入改动新版本走特征码模糊匹配按版本范围自动适配这也是它能追上软件频繁更新的关键。微信多开补丁的实现思路绕过互斥锁检查多开的原理同样只有一句话微信用一把互斥锁来保证同一时刻只能跑一个实例。这把锁有一个固定的名字用调试器在进程里搜索WcChat_App_Instance_Identity_Mutex_Name就能看到它的身影补丁的做法很巧妙——直接让检查互斥锁这个函数在入口处就提前返回。看这组多开特征码节选{ Category: 多开, Search: [85, 86, 87, 83, 72, 129, 236, ...], Replace: [195, 86, 87, 83, 72, 129, 236, ...] }函数开头的85push ebp标准函数序言被替换成195ret立即返回。效果就是互斥检查逻辑一进来就下班回家微信再也检测不到已经有一个实例在跑于是你可以同时登录多个账号。改动只落在函数入口不影响微信其他任何功能。如果你连补丁都不想打只想用多开项目还附赠了一个独立工具RevokeMsgPatcher.MultiInstance它无视微信版本点一下启动多开就能批量拉起多个微信实例适合只想多开、不需要防撤回的用户。微信/QQ/TIM防撤回补丁不生效时怎么排查按下面的清单逐条对照绝大多数问题都能自己解决Q补丁一直提示失败A确认目标软件已彻底关闭含托盘残留并以管理员身份重新运行工具。杀毒软件弹出拦截时选择放行因为改动 DLL 的行为容易被安全软件误报。Q功能没生效消息还是被撤A先看主界面显示的版本后面是已支持还是不支持。软件版本过新时特征码可能还没跟上更新到补丁最新版本再试即可。Q提示文件校验不通过A说明这个 DLL 可能被其他补丁程序改过与内置特征对不上。先把软件恢复原状重装或还原备份再重新打补丁。Q打完补丁软件打不开了A不要慌回到工具点备份还原从*.h.bak恢复原始文件软件即可恢复正常运行。这也是每次打补丁前都会自动备份的意义所在。使用防撤回工具前必须了解的注意事项与合规边界补丁只影响你本机的显示逻辑对方能否看到已撤回提示由双方版本共同决定新旧版本混用可能表现不一致修改的是微信WeChatWin.dll、QQ/TIMIM.dll等核心文件属系统级改动打补丁前请确认这些软件的备份文件完好软件每次升级都会覆盖补丁升级后需要重新安装不要抱着打一次管永久的期望部分功能如新老两种防撤回模式存在取舍界面上有详细提示按需二选一即可。最后提醒一句本工具仅供技术研究与学习使用请遵守相关法律法规及微信、QQ、TIM 的软件使用协议。接下来你可以做什么如果这篇教程让你有了动手的兴致可以从下面三件事里挑一件开始直接下载预编译版本先给主力微信打上防撤回和多开补丁体验一把消息永远留在屏幕上的踏实感克隆源码git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher打开RevokeMsgPatcher/Modifier/目录逐个研究 WechatModifier、QQModifier、TIMModifier 等修改器是怎么组织代码的翻看RevokeMsgPatcher.Assistant/Data/下的各版本patch.json对照文章里讲的特征码格式理解版本越多、维护越勤的社区协作模式。信息时代重要的不是阻止别人撤回而是别让自己因为一条消失的消息错过该抓住的东西。装好它下次看到撤回了一条消息时你就能从容一笑没关系我已经看到了。【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/6 22:05:46

reverse_markdown命令行用法详解:轻松实现文件与管道转换

reverse_markdown命令行用法详解:轻松实现文件与管道转换 【免费下载链接】reverse_markdown Ruby gem to convert html into markdown 项目地址: https://gitcode.com/gh_mirrors/re/reverse_markdown reverse_markdown是一款强大的Ruby gem工具&#xff0c…

2026/10/7 6:15:21

AI Agent工程化落地:架构、选型与实战指南

做AI应用方向这几年,我有个挺深的感受:行业最热闹的时候,不是某个模型发布的那天,而是大量开发者开始讨论“怎么把它真正用起来”的那天。2026年9月22日这天的热搜关键词里,“AI Agent”和“AI应用开发”同时挂在头部&…

2026/10/7 6:15:21

SSM图书管理系统实战:分层架构、事务控制与SQL优化

简介:这是一套面向计算机专业本科生及Java初学者的毕业设计级实战项目资源,聚焦图书管理业务场景,基于SSM(SpringSpringMVCMyBatis)主流框架完整实现前后端功能,解决课程设计、期末大作业与毕业设计中系统开…

2026/10/7 6:15:21

Servlet+JSP学生选课系统:从部署到改造的JavaWeb项目实战

简介:这是一套基于JavaWeb技术栈实现的学生选课系统,面向计算机相关专业毕业设计学生及需要项目实战的Java学习者,可解决课程管理、选课、成绩录入等常见业务场景的完整开发需求。系统采用Servlet与JSP及MySQL架构,前端结合Bootst…

2026/10/7 6:15:21

LSTM时间序列预测实战:实例代码解析与避坑指南

简介:面向机器学习初学者与时间序列预测开发者的LSTM入门实例,以房地产价格预测为场景,完整演示长短期记忆网络从数据预处理到权重更新的实现过程。LSTM通过输入门、遗忘门、输出门与细胞状态协同解决传统RNN的梯度消失问题,该实例…

2026/10/7 6:15:21

上下文工程与Agent Harness:AI编码代理10x效率实践指南

这两年AI编码代理的讨论热度一直在涨,但绝大多数人的用法还停留在“开个对话窗口、把报错贴进去”的阶段。真正拉开差距的,其实不是模型选谁、参数多大,而是两件常常被忽略的事:Context Engineering(上下文工程&#x…

2026/10/7 6:10:21

AI编程工作流实战:三个可立刻复用的高效开发流程

1. 为什么“能立刻复用”比“功能强大”更重要我见过太多人收藏了几百个AI编程工具,从代码补全到Agent框架,硬盘里塞满了各种教程和配置,但真正每天在用的工作流,掰着手指头数不超过三个。问题出在哪?不是工具不够好&a…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑