From 8607a6337a1445f446a76d997fc470c9f30df1f1 Mon Sep 17 00:00:00 2001 From: a244573118 <244573118@qq.com> Date: Wed, 27 May 2026 16:57:36 +0800 Subject: [PATCH] Update README.md --- README.md | 87 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 9c6293e..c1bbd2a 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,88 @@ # WeChatIntercept -### 微信v3.7.0下载 -当前无时间更新插件,大家可下载[微信v3.7.0版本](https://dldir1.qq.com/weixin/mac/WeChatMac.dmg)使用 +macOS 微信防撤回工具。 -### 微信防撤回插件,一键安装,仅MAC可用。 +## 最新版本(v4.1.9) -1.支持最新版微信3.7.0防撤回; +**支持微信 4.1.9**,适配微信全新 C++ 架构,纯二进制补丁,一键生效。 -2.新增免认证登录; +### 原理 -3.新增拦截提示语自定义前缀功能。 +修改 `wechat.dylib` 中的 `isRevokeMessage()` 函数,使其始终返回 false。微信将不再识别收到的撤回通知,原消息保持可见。不影响自己主动撤回消息。 + +### 适用范围 + +- macOS 微信 4.1.9(CFBundleVersion: 268602) +- Apple Silicon(arm64)及 Intel(x86_64) + +### 使用 + +```bash +chmod +x patch.sh # 添加可执行权限 +./patch.sh # 应用补丁 +./patch.sh --status # 查看状态 +./patch.sh --restore # 恢复原始 +``` + +首次运行可能需要约 30 秒(自动解除系统文件保护)。 + +### 依赖 + +macOS 系统自带工具,无需额外安装: +- python3 +- codesign +- tar + +### 已知限制 + +- **无撤回提示**:当前方案仅静默保留原消息,不会在聊天窗口中显示"对方撤回了一条消息"的提示。你不会知道对方曾经尝试撤回,只能注意到消息没有消失。 + +- **为什么不能像旧版那样在聊天框内显示提示?** + + 旧版微信 macOS(3.x)使用 Objective-C 构建,核心逻辑暴露为 ObjC 方法,可以通过 Method Swizzling 在运行时拦截撤回处理函数,保留原消息的同时调用微信内部的消息插入 API 写入一条提示。 + + 当前版本(4.1.9)的底层架构已完全不同:核心逻辑迁移到 C++ 实现(仅剩 65 个 ObjC 类,而代码段超过 90MB 均为 C++ 且符号已 strip)。撤回处理不再是独立的"删除旧消息"+"插入提示"两步操作,而是将整个消息对象替换为新的视图模型。在纯二进制补丁方式下,无法构造复杂的函数调用链来插入一条新消息到聊天记录中。 + +--- + +## 旧版本 + +支持微信 3.7.0 及更早版本,基于 DYLD 注入 + Method Swizzling,支持撤回提示和自定义前缀。 + +### 功能 + +1. 防撤回(支持聊天框内拦截提示) +2. 免认证登录 +3. 拦截提示语自定义前缀 image +### 微信 v3.7.0 下载 + +[微信 v3.7.0 版本](https://dldir1.qq.com/weixin/mac/WeChatMac.dmg) + ### 使用方法 -自定义防撤回提示前缀:安装成功后重启微信,屏幕左上角微信菜单栏有个小助手菜单,修改后点击关闭即可。 - -安装方法:cd到WeChatIntercept文件夹,将Install.sh文件拖到终端,输入密码回车,然后重启微信即可。 - -卸载方法:将Uninstall.sh文件拖到终端,然后回车。 - -此插件将一直更新,欢迎Star! +- **安装**:cd 到 WeChatIntercept 文件夹,将 `Install.sh` 拖到终端,输入密码回车,重启微信。 +- **卸载**:将 `Uninstall.sh` 拖到终端回车。 +- **自定义前缀**:安装成功后重启微信,屏幕左上角微信菜单栏有个小助手菜单,修改后点击关闭即可。 ### 常见问题 -1.无法打开“insert_dylib”,因为无法验证开发者 +1. **无法打开 "insert_dylib",因为无法验证开发者** -请在系统安全性与隐私处点击允许 + 在系统安全性与隐私处点击允许。 -2.如果系统提示遇到截屏无法使用,已添加微信的屏幕录制权限仍然不行 +2. **截屏无法使用,已添加屏幕录制权限仍不行** -在系统安全性与隐私处中删除掉WeChat/微信,然后重新添加进来,重启WeChat/微信,就可以正常截图(感谢[Kylelkh](https://github.com/Kylelkh)) + 在系统安全性与隐私中删除微信,重新添加,重启微信即可。(感谢 [Kylelkh](https://github.com/Kylelkh)) -3.M1芯片怎么使用 +3. **M1 芯片怎么使用** -安装Rosetta软件,然后在属性里勾选使用Rosetta打开微信就可以了(感谢[Mercury2699](https://github.com/Mercury2699)、[bolosea](https://github.com/bolosea)) + 安装 Rosetta,在微信属性中勾选"使用 Rosetta 打开"。(感谢 [Mercury2699](https://github.com/Mercury2699)、[bolosea](https://github.com/bolosea)) +--- +## 注意 + +- 微信更新后需重新运行对应版本的补丁 +- 仅供学习研究用途