尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

那条被撤回的消息,其实一直躺在你的电脑里

那条被撤回的消息,其实一直躺在你的电脑里 那条被撤回的消息其实一直躺在你的电脑里【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher你有没有想过一个问题微信、QQ里对方撤回了一条消息消息到底去哪儿了答案是——它哪儿也没去。在你看到已撤回提示的瞬间那条消息的文字、图片、甚至语音早就在毫秒级的时间里完整下载到了你的电脑内存里。撤回只是客户端执行了一条指令把已经显示出来的内容再藏回去。这就是RevokeMsgPatcher这款微信QQ防撤回补丁的全部切入点。它是 Windows 平台的开源工具通过改写微信/QQ/TIM 的核心 DLL 文件让隐藏指令失效。从此撤回的消息会原封不动地留在聊天窗口里。它的作者在项目描述里只写了一句话——我已经看到了撤回也没用了语气嚣张但技术上是认真的。先看结论它靠的不是拦截而是改写市面上很多防撤回方案走的是监听路线在进程里注入钩子拦截撤回指令再通过第三方界面把历史消息重新展示出来。这类方案有先天短板——进程一退出就失效软件一升级就崩。RevokeMsgPatcher 选择了另一条路直接修改微信、QQ 安装目录里的核心文件。微信是WeChatWin.dllQQ 和 TIM 是IM.dll。它像外科医生一样在这些几十上百 MB 的动态链接库里精准找到处理撤回的那几行机器码改动几个字节让撤回逻辑从此不再执行。文件被改了改动就永久生效——重启、重开客户端都不影响这才是补丁两个字的含义。撤回背后的那一步一条指令把显示换成隐藏要理解补丁改了什么先看撤回在客户端内部是怎么发生的。以微信为例当对方撤回消息服务器会推送一条revokemsg通知微信的WeChatWin.dll收到后会调用一个函数去删除消息的 UI 显示。专业逆向工程师或者叫特征搬运工——项目作者的原话会先用调试器附加到微信进程在 DLL 里搜索revokemsg这个字符串定位到那个负责执行撤回的函数。找到函数之后事情就变得很简单了。这个函数的入口处通常有一个条件跳转指令用汇编写出来长这样test eax, eax je wechatwin.647F1B00 ; 条件成立才执行撤回je的意思是if equal then jump翻译成人话就是如果条件是撤回就跳过去执行删除。补丁做的事就是把这个je改成jmp——无条件跳转。条件再也不会成立撤回指令到达后客户端直接当它不存在。这个操作在十六进制层面只是改了几个字节但在行为层面整个撤回功能被架空了。你不需要任何驻留进程、不需要后台服务、不需要网络代理本地文件一改一劳永逸。场景一工作群里那条被秒撤的通知这是这个工具最典型的使用场景。同事在群里发了项目排期表你刚点开消息变成了已撤回。以前你只能干瞪眼现在不会了。安装补丁后任何被撤回的消息都保持着原样躺在聊天记录里前后文完整表情、图片、文件一概不缺席。这一点在 QQ 和 TIM 上同样成立——它们的防撤回逻辑在IM.dll里改动思路与微信完全一致。对普通用户来说你不需要关心这些 DLL 里发生了什么。你只需要知道装上这个补丁撤回在你这里就变成了撤回了个寂寞。场景二一台电脑同时登录两个微信防撤回之外这个项目还附带了一个实用的小工具微信多开。很多人需要同时登录工作号和生活号但微信默认只允许运行一个实例。微信通过一个叫WeChat_App_Instance_Identity_Mutex_Name的互斥量来限制只能开一个——进程一启动就检查这个互斥量发现已存在就拒绝再开。多开工具的思路和防撤回如出一辙在微信启动流程里处理掉这个互斥量让第二个、第三个微信实例都能正常启动。它提供了自动模式点击启动多开即可连续拉起多个微信和手动模式对已有微信进程的互斥句柄进行精细处理。自动模式适合绝大多数人手动模式留给喜欢折腾的高级用户。两个功能互不干扰你可以只打防撤回补丁也可以只开多开或者两个一起用。如果你已经用防撤回补丁里的多开选项实现了多开就不需要再单独运行这个小工具了。上手三步比你想的更简单整个操作流程短到没有学习成本准备系统是 Windows 7 及以上不支持 XP装有 .NET Framework 4.5.2 或更高版本先关闭微信、QQ 或 TIM。运行右键以管理员身份运行RevokeMsgPatcher.exe修改系统文件必须的权限。安装版的微信/QQ 会自动从注册表读取安装路径绿色版需要手动指定。打补丁在界面上勾选防撤回微信还能同时勾选多开点击安装补丁等待片刻即可。如果你是从仓库源码自己构建克隆地址是git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher整个工程在RevokeMsgPatcher/目录下包含了Modifier补丁核心逻辑、Matcher特征码匹配、MultiInstance多开工具等清晰的模块划分。三个一定会遇到的坑提前知道不慌坑一软件更新后补丁失效。微信或 QQ 升级后安装包会覆盖掉被修改过的 DLL 文件防撤回自然消失。这是必然的不是 bug。解决办法是更新后重新运行工具打一次补丁三十秒的事。坑二杀毒软件弹警告。因为补丁直接改写了WeChatWin.dll、IM.dll这类文件部分杀毒软件会把它当作可疑行为。把工具加入白名单放行即可。它的所有操作都在本地完成不上传任何数据。坑三万一出事怎么还原工具在修改前会自动把原始文件备份为*.h.bak。界面上有备份还原按钮任何时候想恢复原状一键还原。甚至你误打补丁后软件闪退、想回滚都不用重新安装客户端。项目代码里对还原逻辑也做了保护——如果当前文件和备份版本不一致会弹窗确认再操作避免误覆盖。一个值得知道的细节版本兼容性是怎么做到的你可能好奇微信每个版本代码都变工具怎么跟得上答案是两套机制并用。一类是精准匹配针对特定版本号 SHA1 哈希完全一致的 DLL直接按固定偏移替换。另一类是特征码匹配针对某个版本区间用一段十六进制特征串去文件里模糊搜索找到就替换——代码位置变了也能命中。这个设计很聪明。精准匹配负责稳特征码负责广两者结合让工具能覆盖微信 3.x、4.x 以及 QQ/TIM 大量历史版本。项目里RevokeMsgPatcher.Assistant目录还专门放了一个辅助工具用来辅助生成和管理这些版本的补丁特征数据Data/目录下按版本号存放着patch.json你可以直观地看到这套版本数据是怎么组织维护的。最后说几句如果你受够了对方已撤回一条消息这种没头没尾的提示如果你需要同时挂两个微信账号办公RevokeMsgPatcher 值得你花三分钟试一次。它是开源项目代码全部公开可审查GPLv3 协议作者在 README 里也坦诚地标注了防撤回特征来源——微信 4.0 之后的特征来自 BetterWXQQNT 特征来自 NTQQAntiRecall多开逻辑对应代码在RevokeMsgPatcher.MultiInstance/目录下。技术这件事有意思的地方在于一个看似无解的撤回拆开看不过是一个跳转指令。工具把这条指令改了消息就留下来了。重要的信息从此不再因为一条撤回而错失。【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表