
微信QQ防撤回补丁怎么实现的RevokeMsgPatcher二进制修改全流程拆解【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher发出去的消息被撤回聊天框只剩一句对方撤回了一条消息。RevokeMsgPatcher 是一款 Windows 平台工具直接修改 PC 版微信、QQ、TIM 的 DLL 二进制文件让撤回操作彻底失效还支持微信多开。3步跑通安装防撤回补丁环境要求Windows 7 及以上不支持 XP.NET Framework 4.5.2 或更高版本低于此版本程序打开后可能无反应或报错。关闭微信/QQ/TIM 所有进程以管理员身份运行RevokeMsgPatcher等待右下角完成补丁信息下载工具启动后会从多个镜像源拉取当前版本 2.1 的 patch.json 补丁数据选择安装路径安装版一般从注册表自动识别绿色版需手动指定点击防撤回注意微信的 WeChatWin.dll、QQ/TIM 的 IM.dll 被修改后杀毒软件可能报警放行即可。微信/QQ/TIM 更新后必须重新打补丁。内部机制先验证再改字节失败自动回滚防撤回的本质是把 DLL 里执行撤回的那条条件跳转分支改掉。类比一下撤回功能像一扇带门磁的保险柜门工具不去撬锁而是把检测到撤回信号才开门的触发条件抹掉。具体分两条匹配路线核心逻辑在 RevokeMsgPatcher/Modifier/AppModifier.cs 的ValidateAndFindModifyInfo精确模式对比文件 SHA1。SHA1 等于SHA1Before→ 可打补丁等于SHA1After→ 提示已安装过此补丁特征码模式SHA1 匹配不上时版本未收录但落在支持区间内用字节特征串搜索定位再替换定位由 RevokeMsgPatcher/Matcher/ 完成。BoyerMooreMatcher实现完整的坏字符 好后缀双启发式搜索在几十 MB 的 DLL 里找特征串FuzzyMatcher在此基础上支持通配符0x3F先截取通配符前的头串做快速定位再逐字节验证整串。找到特征点后补丁执行遵循备份 → 修改 → 失败回滚流程FileHexEditor.cs// 先备份所有文件xxx.dll.h.bak再逐个打补丁 foreach (FileHexEditor editor in editors) { editor.Backup(); } foreach (FileHexEditor editor in editors) { bool success editor.Patch(); // 内部调用 FileUtil.EditMultiHex 按位置改字节 if (!success) editor.Restore(); // 失败立即还原 } // 中途抛异常时把已修改的文件全部 Restore() 回滚这段代码保证了原子性多个文件如微信同时改 WeChatWin.dll 和 WeChat.exe改到一半出错时已改文件会被备份文件覆盖还原。以微信 3.x 的防撤回为例特征串00 85 C0 74 32 B9 ...中的74JE条件跳转被替换为EBJMP无条件跳转撤回检查分支被跳过。QQ 9.x 的 IM.dll 则是把EC 84 xx xx系列指令改写为EB 09 90 90 90JMP NOP 填充保持指令长度一致。配置与定制patch.json 是唯一的数据源所有补丁策略集中在 RevokeMsgPatcher.Assistant/Data/ 目录按工具版本分目录如2.1/patch.json运行时由 HttpUtil.cs 依次尝试 5 个镜像 URL 下载任何一个返回含LatestVersion字段的合法 JSON 即生效。文件顶层结构{ Apps: { Wechat: { FileTargetInfos: { WeChatWin.dll: { RelativePath: WeChatWin.dll } }, FileModifyInfos: { WeChatWin.dll: [ { Version: 3.3.5.25, SHA1Before: ..., SHA1After: ..., Changes: [ { Position: 3413977, Content: [235] } ] } ] }, FileCommonModifyInfos: { WeChatWin.dll: [ { StartVersion: 3.5.0.28, EndVersion: 3.6.0.0, ReplacePatterns: [...] } ] } }, QQ: { ... } }, LatestVersion: 2.1, PatchVersion: 20260809 }这段 JSON 就是全部补丁数据库FileTargetInfos声明要改哪个文件、FileModifyInfos存 SHA1 精确位置Content 里 2350xEB、1950xC3、1170x75 等指令字节FileCommonModifyInfos按版本区间[StartVersion, EndVersion]存放特征码替换规则。每条ReplacePattern的Category字段决定它出现在界面哪个勾选项防撤回、防撤回带提示(新)、多开、群聊防撤回。勾选功能后ModifyFinder.cs 只筛出对应 Category 的特征去匹配并会反查替换串已存在的情况从而正确识别已装功能。按需调整示例想让某版本微信防撤回带消息已撤回提示而非静默保留只需确认该版本区间的防撤回带提示(新)特征存在并在界面勾选它——策略本身已在 JSON 里无需改代码。进阶扩展给新 IM 或新版本加支持代码分层清晰扩展点有两处1. 新版本适配最常见微信/QQ 更新后旧特征失效只需在 patch.json 对应 App 的FileCommonModifyInfos里新增一个版本区间条目填入新特征码即可。仓库里 QQNT 的Tips字段直接写了重定位方法搜[Msg] on c2c recall nfy!再确认日志后的 sub 调用这就是作者每次版本更新后的标准作业。2. 新增 IM 客户端继承AppModifier实现两个抽象方法即可接入框架class TIMModifier : AppModifier { public override string FindInstallPath() // 从注册表或默认路径找安装目录 public override string GetVersion() // 读 Bin/IM.dll 的文件版本号 }以 TIM 为例TIMModifier.cs它从注册表Tencent\TIM取路径、校验Bin/IM.dll是否存在其余验证、备份、打补丁、回滚逻辑全部复用基类。微信因 3.5.0.4 起目录结构变为多版本子目录额外重写了GetRealInstallPath按修改时间倒序遍历子目录找目标文件。微信多开则独立成 RevokeMsgPatcher.MultiInstance/ 子项目通过互斥体Mutex检测绕过单实例限制本质与防撤回同源——都是识别并中和一个防重复启动的判断分支。避坑与排障报错信息就是排查手册代码抛出的BusinessException都带业务码对照处理即可报错信息业务码原因与解决你已经安装过此补丁installedSHA1 匹配到补丁后状态无需重复操作不支持的文件名称 xxx 版本 yyynot_support版本不在支持区间等工具更新或锁定旧版客户端文件校验不通过确认是否用过其他补丁maybe_modified版本对但 SHA1 不符多半被其他工具改过用备份还原或重装客户端当前应用已经安装了对应功能的补丁match_already_replace特征串已变成替换串取消勾选或还原备份特征码匹配数和期望不一致match_inconformity部分功能已装/特征变化按提示勾选未装功能其他高频问题界面长时间无响应是正常现象读取几十 MB DLL 全量特征搜索耐心等待还原时若提示当前文件版本与备份版本不一致说明客户端更新过直接还原会把新版文件覆盖成旧版应取消还原、更新后重打补丁还原依赖.h.bak备份文件不要手动删除。方案横向对比为什么选择改 DLL维度二进制补丁本方案内存 Hook / 协议转发插件框架如 LiteLoaderQQNT生效方式持久化到文件重启长期有效随进程重启失效随插件加载运行时开销无改完即忘有常驻拦截逻辑有宿主框架驻留版本适配成本低特征码 区间配置高API 偏移频繁变中依赖框架升级适用客户端微信/QQ/TIM 全覆盖需按客户端单独开发主要覆盖 QQNT二进制补丁的唯一代价是客户端更新即失效但项目用SHA1 双哈希 版本区间特征码两级匹配把适配成本压到只改 JSON。2.1 版本起 QQNT 不再依赖 LiteLoaderQQNT改为直接修改 wrapper.node全客户端统一了技术路线。适合谁用RevokeMsgPatcher 的价值在于把逆向分析的成果固化成了一份可持续维护的 JSON 补丁数据库配合带回滚保护的修改器让改 DLL从手工作业变成一次点击。如果你需要 PC 端微信/QQ/TIM 撤回消息永久可见或者想研究二进制特征码匹配、补丁回滚机制的完整工程实现Boyer-Moore 通配符两级搜索是少有的开源完整实现这个项目的 RevokeMsgPatcher/Matcher/ 和 RevokeMsgPatcher/Modifier/ 值得逐行读一遍。【免费下载链接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁我已经看到了撤回也没用了项目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考