28 Commits

Author SHA1 Message Date
zhangyang131 a39fbc91b5 fix 2026-06-11 10:05:42 +08:00
zhangyang131 034b3be345 更新readme 2026-06-10 15:58:42 +08:00
zhangyang131 f7dd841b3e 更新readme 2026-06-10 15:50:25 +08:00
a244573118 21a57d49ec Update README.md 2026-06-10 14:37:48 +08:00
zhangyang131 5a6c282537 增加“撤回通知带原文显示”功能,便于识别出被撤回的内容。注意:当前只支持私聊,群聊暂不支持 2026-06-10 14:35:47 +08:00
zhangyang131 bebe756f1d feat: 防撤回+消息原文通知(前台monitor模式,双重解引用修复) 2026-06-10 13:07:34 +08:00
zhangyang131 608934165d 增加特征码自动寻址机制,兼容性更强 2026-06-04 13:18:55 +08:00
zhangyang131 e1047bcc8b fix 2026-05-30 15:33:18 +08:00
zhangyang131 f540f16a6b fix 2026-05-30 14:27:43 +08:00
a244573118 0c45306f68 Update README.md 2026-05-29 22:04:52 +08:00
a244573118 a39740f7b0 Update README.md 2026-05-29 22:01:04 +08:00
a244573118 fe2bc78e6c Update README.md 2026-05-29 19:18:01 +08:00
zhangyang131 2efbfda678 fix 2026-05-29 19:16:45 +08:00
zhangyang131 7ff43db2c9 fix 2026-05-29 19:14:41 +08:00
zhangyang131 faf7db0482 拦截到撤回时弹出 macOS 系统通知(显示谁撤回了消息) 2026-05-29 19:10:53 +08:00
a244573118 fe51b1f1fe Update README.md 2026-05-29 12:29:47 +08:00
a244573118 31d96c8820 Update README.md 2026-05-29 12:29:25 +08:00
zhangyang131 47e59afaed readme 2026-05-29 12:29:01 +08:00
zhangyang131 ad49ec693c 适配微信4.1.10,兼容性增强 2026-05-29 11:16:34 +08:00
a244573118 0802b092e7 Update README.md 2026-05-27 20:59:43 +08:00
a244573118 8c055418de Update README.md 2026-05-27 20:58:06 +08:00
a244573118 a678ae0047 Update README.md 2026-05-27 20:17:18 +08:00
a244573118 781fdc3560 Update README to clarify message revocation behavior
Clarified the behavior of the message revocation feature.
2026-05-27 20:10:11 +08:00
zhangyang131 be26e43549 修复自己不能撤回的bug 2026-05-27 20:07:47 +08:00
a244573118 eeeec7547b Update README.md 2026-05-27 17:34:21 +08:00
a244573118 8607a6337a Update README.md 2026-05-27 16:57:36 +08:00
zhangyang131 d2ae29e2cd 支持微信4.1.9防撤回 2026-05-27 16:18:40 +08:00
a244573118 3b01d71c73 Update README.md 2025-05-09 11:47:55 +08:00
2 changed files with 1986 additions and 28 deletions
+128 -28
View File
@@ -1,36 +1,136 @@
# WeChatIntercept
### 微信防撤回插件,一键安装,仅MAC可用。
1.支持最新版微信3.7.0防撤回;
macOS 微信防撤回工具,支持微信 4.1.x 系列,欢迎共建和 star。
2.新增免认证登录;
---
3.新增拦截提示语自定义前缀功能。
## 功能
| 功能 | 说明 |
| -------- | ------------------------------------------------------------------------ |
| 防撤回 | 对方撤回的消息保留可见,自己撤回正常工作 |
| 撤回通知 | 弹出 macOS 系统通知,显示谁撤回了什么内容 |
| 消息原文 | 通知中展示被撤回的原始消息(消息内容文本 / [图片] / [视频] / [文件] 等) |
| 自动适配 | 内置特征码搜索,微信小版本更新后无需手动操作 |
通知效果:
- `拦截到「张三」撤回了一条消息:你好`
- `拦截到「张三」撤回了一条消息:[图片]`
- 拿不到原文时降级:`拦截到「张三」撤回了一条消息`
---
## 快速开始
```bash
# 1. 安装防撤回(必须)
chmod +x patch.sh
./patch.sh
# 2. 安装消息监听(可选,撤回通知带原文)
./patch.sh --monitor-install
```
完成。微信会自动重启,之后对方撤回消息时你会收到系统通知。
---
## 命令一览
| 命令 | 作用 |
| -------------------------------- | -------------------------------------- |
| `./patch.sh` | 安装防撤回 |
| `./patch.sh --monitor-install` | 安装消息监听(后台自动运行,开机自启) |
| `./patch.sh --monitor-status` | 查看监听状态 |
| `./patch.sh --monitor-uninstall` | 卸载消息监听 |
| `./patch.sh --uninstall` | 卸载防撤回 |
| `./patch.sh --help` | 查看帮助 |
---
## 适用范围
- macOS 微信 4.1.x4.1.9 / 4.1.10 已验证)
- Apple Siliconarm64+ Intelx86_64
- macOS Sequoia / Sonoma / Ventura / Tahoe
---
## 依赖
macOS 系统自带,无需额外安装:
- clang / python3 / codesign / lldbXcode Command Line Tools
如未安装:`xcode-select --install`
---
## 注意事项
1. **首次运行**约需 30 秒(解除系统文件保护 + 重签名)
2. **通知权限**:需给「脚本编辑器」开启通知权限,否则看不到弹窗
<img width="912" height="108" alt="image" src="https://github.com/user-attachments/assets/5865c263-7511-4b58-92a0-e69edba54f3d" />
3. **微信动态更新**:微信存在动态更新机制,版本号不变,但方法地址会变,重新运行`./patch.sh`即可,脚本会自动寻址
4. **消息原文覆盖率**:私聊 + 大部分群聊可正常获取;部分群聊因对象结构差异会降级为不带原文(后续优化)
---
## 排查
防撤回不生效时:
```bash
cat /tmp/antirevoke_debug.log # 查看 hook 安装日志
cat /tmp/wechat_monitor_daemon.log # 查看消息监听日志
./patch.sh --monitor-status # 查看监听状态
```
关键日志含义:
- `快速路径命中` / `特征码搜索找到` → hook 安装成功
- `hook 安装失败` → 微信版本变化较大,需更新脚本
提交 issue 时请附带微信版本和日志文件。
---
## 卸载
```bash
./patch.sh --monitor-uninstall # 卸载消息监听(如安装过)
./patch.sh --uninstall # 卸载防撤回,恢复原始微信
```
---
## 调试(开发者)
```bash
./patch.sh --debug # 仅签名允许 lldb attach,不装 hook
./patch.sh --monitor # 前台运行消息监听(Ctrl+C 退出)
```
---
## 风险说明
1. 微信升级后补丁可能失效,脚本内置自动寻址尽力兼容,但无法应对函数实现的根本变化
2. 仅承诺已验证版本(4.1.9 / 4.1.10),其他 build 号尽力支持
3. 仅用于技术研究,请自行承担使用风险
---
## 旧版本(微信 3.7.0
支持微信 3.7.0 及更早版本,基于 Method Swizzling,支持聊天框内撤回提示 + 自定义前缀。
<img width="301" alt="image" src="https://user-images.githubusercontent.com/18585610/159691061-3f24b69f-a494-4549-a530-7724b1b40060.png">
### 使用方法
自定义防撤回提示前缀:安装成功后重启微信,屏幕左上角微信菜单栏有个小助手菜单,修改后点击关闭即可。
安装方法:cd到WeChatIntercept文件夹,将Install.sh文件拖到终端,输入密码回车,然后重启微信即可。
卸载方法:将Uninstall.sh文件拖到终端,然后回车。
此插件将一直更新,欢迎Star
### 常见问题
1.无法打开“insert_dylib”,因为无法验证开发者
请在系统安全性与隐私处点击允许
2.如果系统提示遇到截屏无法使用,已添加微信的屏幕录制权限仍然不行
在系统安全性与隐私处中删除掉WeChat/微信,然后重新添加进来,重启WeChat/微信,就可以正常截图(感谢[Kylelkh](https://github.com/Kylelkh)
3.M1芯片怎么使用
安装Rosetta软件,然后在属性里勾选使用Rosetta打开微信就可以了(感谢[Mercury2699](https://github.com/Mercury2699)、[bolosea](https://github.com/bolosea)
```bash
# 安装:将 Install.sh 拖到终端执行
# 卸载:将 Uninstall.sh 拖到终端执行
```
[微信 v3.7.0 下载](https://dldir1.qq.com/weixin/mac/WeChatMac.dmg)
+1858
View File
File diff suppressed because it is too large Load Diff