RevokeMsgPatcher微信多开与防撤回补丁源码部署教程与二开分析
一、项目概述
RevokeMsgPatcher 是一个开源的 Windows 桌面工具,核心功能两个:防撤回(对方撤回的消息仍然可见)和微信多开(同时运行多个微信实例)。支持微信(3.x/4.x)、QQ、TIM、QQ 轻聊版等多个应用,通过修改目标程序的 DLL 文件中的特定字节码实现功能注入,不注入进程、不加载外部模块。
本仓库在原作者 huiyadanli 的基础上进行了二次开发,持续跟进微信新版本适配,最新已支持微信 4.1.12.26。
二、界面效果展示

主程序界面 -- 支持微信/QQ/TIM,可勾选多开与防撤回

微信多开小工具 -- 点击即可启动多个微信实例

补丁安装成功状态 -- 显示"已安装"并可一键还原
三、技术架构
工具由 4 个子项目组成,共享一个 Visual Studio 解决方案。
RevokeMsgPatcher.sln
├─ RevokeMsgPatcher/ 主程序:补丁安装器(防撤回 + 静态多开)
├─ RevokeMsgPatcher.MultiInstance/ 微信多开小工具(运行时互斥量关闭)
├─ RevokeMsgPatcher.Assistant/ 辅助工具(补丁数据维护)
└─ RevokeMsgPatcher.Launcher/ 启动器
组件 | 技术 | 说明 |
|---|---|---|
语言与框架 | C# / .NET Framework 4.5.2 | WinForms 桌面应用 |
补丁原理 | Boyer-Moore 特征码搜索 | 在 DLL 中定位目标字节序列并替换 |
多开原理 | Win32 API 关闭互斥量 |
|
静态多开 | DLL 字节码修改 | 直接改写 |
构建工具 | Visual Studio 2017+ | MSBuild 编译,Release 模式输出 |
依赖 | Newtonsoft.Json 13.0.3 | 序列化补丁规则数据 |
四、补丁核心原理
防撤回:微信收到撤回指令后会调用一段处理函数删除本地消息,补丁在 WeChatWin.dll(3.x)或 Weixin.dll(4.x)中找到该函数入口的特征字节码,将关键跳转指令替换为 NOP 或反转条件跳转,使撤回逻辑不执行。
多开(两种方式互补):
运行时多开:
MultiInstance工具枚举微信进程持有的所有系统句柄,找到名为_WeChat_App_Instance_Identity_Mutex_Name的互斥量并关闭,然后以无参数方式启动新实例绕过单例检测。静态多开:直接修改
Weixin.dll中创建互斥量和--scene=startmenu窗口复用分支的字节码,安装一次后无需辅助工具即可多开。
版本适配机制:所有补丁规则以 JSON 格式存储在 PatchJson 资源中,每条规则绑定具体版本号和 DLL 文件名,包含搜索特征(Search)和替换值(Replace)。新版微信发布后,只需用 IDA/x64dbg 找到新的特征偏移,在 JsonData.cs 中添加规则即可。
五、环境要求与构建
运行环境: Windows 7 及以上,.NET Framework 4.5.2(Win10/11 内置)
构建环境: Visual Studio 2017 或更高版本
硬件要求: 无特殊要求,普通 PC 即可
构建步骤:
用 Visual Studio 打开
RevokeMsgPatcher.sln切换到 Release 配置
生成解决方案(Ctrl+Shift+B)
输出在各子项目的
bin\Release\目录下
已编译版本已随仓库提交在 RevokeMsgPatcher.v2.1/ 目录,可直接运行。运行主程序需要管理员权限(修改系统目录下的 DLL 文件)。
六、二次开发评估
组件 | 源码情况 | 二开难度 |
|---|---|---|
主程序(补丁安装器) | C# 完整源码,约 64 个文件 | 低 |
多开小工具 | C# 完整源码 | 低 |
补丁规则数据 | JSON 格式,结构清晰 | 低,纯数据维护 |
辅助/启动器 | C# 完整源码 | 低 |
二开重点在版本适配:微信每次更新都可能改变 DLL 中的字节码偏移,需要用逆向工具(IDA Pro / x64dbg)在新版 DLL 中重新定位特征码,更新 JsonData.cs 中的规则。本仓库的修改日志表明这项工作已形成标准流程,每个新版本的适配通常在数小时内完成。
源码完全可读,命名规范,核心算法(Boyer-Moore 搜索、模糊匹配)实现清晰。GPLv3 许可证,二开需遵循开源协议。
七、核心功能
防撤回: 微信 3.x / 4.x、QQ、TIM、QQ 轻聊版的消息防撤回
微信多开: 运行时互斥量关闭 + 静态 DLL 补丁,两种方式互补
自动定位: 从注册表和默认路径自动查找应用安装位置
版本检测: 自动识别当前版本,匹配对应补丁规则
备份还原: 修改前自动备份原始 DLL,支持一键还原
在线更新: 启动时从远程拉取最新补丁数据,无需重新下载工具
管理员提权: 非管理员启动时自动请求 UAC 提权
八、注意事项
每次微信大版本更新后需等待补丁规则适配,期间工具可能提示"不支持当前版本"
修改系统目录下的 DLL 可能触发杀毒软件误报,需添加白名单
微信 4.x 的进程名从
WeChat.exe改为Weixin.exe,DLL 从WeChatWin.dll改为Weixin.dll静态多开补丁安装后需要重启微信才生效
使用前必须先关闭微信进程,否则 DLL 被占用无法修改
九、总结
一个设计精良的 Windows 二进制热补丁工具,用 Boyer-Moore 特征码匹配实现非侵入式 DLL 修改,核心代码量不大但技术含量高。源码完全开放、结构清晰,二开门槛低,主要工作量在逆向分析新版本的特征偏移。适合对 Windows 逆向、二进制补丁、进程句柄操作感兴趣的开发者学习参考,也适合需要持续跟进微信版本的维护团队直接使用。
下载地址
免费资源- 提取码
5st1解压密码无

