mirror of
https://github.com/pandorafuture/wx-cli.git
synced 2026-08-29 04:00:55 +00:00
docs: 添加 Agent Skill、Release 下载安装方式,移除 key scan 相关描述
- 新增 SKILL.md,支持通过 npx skills add 安装到 AI 编程助手 - README 安装章节增加从 Release 下载预编译二进制的方式 - README 安装章节增加 AI 编程助手集成说明 - 移除 key scan / Mach VM 内存扫描相关描述,统一为 key extract - 修正 Contact Hiding 描述、导出示例补 --all、命令一览补 key set-image - 移除远程 scp 部署段落,简化单列前置条件表格为文本
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# wx-cli
|
||||
|
||||
WeChat macOS 数据库解密与查询工具。支持通过 `key scan`(Mach VM 内存扫描)或 `key extract`(LLDB hook)提取密钥,解密并查询 WeChat 4.1.7.x / 4.1.8.x 的 Apple SEE 加密 SQLite 数据库。
|
||||
WeChat macOS 数据库解密与查询工具。支持通过 `key extract`(LLDB hook)提取密钥,解密并查询 WeChat 4.1.7.x / 4.1.8.x 的 Apple SEE 加密 SQLite 数据库。
|
||||
|
||||
## 支持范围
|
||||
|
||||
@@ -9,13 +9,7 @@ WeChat macOS 数据库解密与查询工具。支持通过 `key scan`(Mach VM
|
||||
|
||||
## 前置条件
|
||||
|
||||
密钥提取**需要 SIP 关闭**(SIP enabled 时 `task_for_pid` 被内核拒绝,即使 root 也不行)。如果你已有密钥,可以跳过 SIP 要求,直接用 `key set` 手动录入。
|
||||
|
||||
| 条件 | key scan | key extract |
|
||||
|------|----------|-------------|
|
||||
| SIP disabled + sudo | **可用** | **可用,但通常不需要 sudo** |
|
||||
| SIP disabled + 无 sudo | 不可用 | **可用(推荐)** |
|
||||
| SIP enabled | 不可用 | 不可用 |
|
||||
密钥提取**需要 SIP 关闭**(SIP enabled 时 `task_for_pid` 被内核拒绝,即使 root 也不行),通常不需要 sudo。如果你已有密钥,可以跳过 SIP 要求,直接用 `key set` 手动录入。
|
||||
|
||||
`key extract`(LLDB 方式)还需要:
|
||||
|
||||
@@ -66,10 +60,13 @@ source ~/.zshrc
|
||||
wx-cli --version
|
||||
```
|
||||
|
||||
如果目标机器在远程(例如 VM),本机构建后传输即可,远程不需要 Rust 工具链:
|
||||
|
||||
### AI 编程助手集成
|
||||
|
||||
本项目提供 [Agent Skill](https://skills.sh),安装后 Claude Code、Codex、Cursor 等 AI 编程助手可直接协助查询微信数据:
|
||||
|
||||
```bash
|
||||
scp target/release/wx-cli user@remote:~/.local/bin/wx-cli
|
||||
npx skills add pandorafuture/wx-cli
|
||||
```
|
||||
|
||||
## 使用
|
||||
@@ -84,17 +81,14 @@ wx-cli status # 查看 WeChat 运行状态和所有账号密钥/缓存状
|
||||
### 2. 提取密钥
|
||||
|
||||
```bash
|
||||
# 方式 A(推荐):内存扫描 — 不重启 WeChat,需要 sudo
|
||||
sudo wx-cli key scan
|
||||
|
||||
# 方式 B:LLDB hook — 会重启 WeChat,通常不需要 sudo
|
||||
# LLDB hook 提取密钥 — 会重启 WeChat,通常不需要 sudo
|
||||
wx-cli key extract --timeout 120
|
||||
|
||||
# 查看已保存的密钥
|
||||
wx-cli key list
|
||||
```
|
||||
|
||||
`key scan` 从 WeChat 进程内存中提取已缓存的数据库密钥;`key extract` 通过 LLDB hook 捕获 PBKDF2 调用获取原始密钥,覆盖范围更广。
|
||||
`key extract` 通过 LLDB hook 捕获 PBKDF2 调用获取原始密钥,覆盖所有数据库。
|
||||
|
||||
手动设置密钥:
|
||||
|
||||
@@ -122,7 +116,7 @@ wx-cli query 张三 --limit 20 # 查某人的消息
|
||||
wx-cli search 周末 --limit 20 # 全局关键词搜索
|
||||
wx-cli query 张三 --type text # 按消息类型过滤
|
||||
wx-cli query 周末爬山群 # 群聊消息
|
||||
wx-cli export 张三 -o /tmp/export --format json # 导出会话
|
||||
wx-cli export 张三 -o /tmp/export --all --format json # 导出会话
|
||||
wx-cli watch --poll --poll-ms 3000 # 实时监听新消息
|
||||
```
|
||||
|
||||
@@ -157,10 +151,10 @@ REST 端点:`/api/v1/health`、`/api/v1/sessions`、`/api/v1/contacts`、`/api
|
||||
|------|------|
|
||||
| `wx-cli status` | 查看 WeChat 运行状态 |
|
||||
| `wx-cli doctor` | 检查环境(SIP 等) |
|
||||
| `sudo wx-cli key scan` | 内存扫描提取密钥(推荐) |
|
||||
| `wx-cli key extract` | LLDB hook 提取密钥 |
|
||||
| `wx-cli key list` | 查看已保存密钥 |
|
||||
| `wx-cli key set <account> <key>` | 手动设置密钥 |
|
||||
| `wx-cli key set-image <account> <image-key>` | 手动设置图片密钥 |
|
||||
| `wx-cli decrypt` | 解密数据库 |
|
||||
| `wx-cli sessions` | 最近会话列表 |
|
||||
| `wx-cli contacts --search <名字>` | 搜索联系人 |
|
||||
@@ -178,7 +172,7 @@ REST 端点:`/api/v1/health`、`/api/v1/sessions`、`/api/v1/contacts`、`/api
|
||||
|
||||
## Contact Hiding
|
||||
|
||||
按账号隐藏指定联系人、群聊或带特定标签的联系人。启用后,查询、导出、监控和服务接口默认应用隐藏规则。
|
||||
按账号隐藏指定联系人、群聊或带特定标签的联系人。启用后,查询、导出、监控等命令默认应用隐藏规则(全文搜索除外)。
|
||||
|
||||
配置文件:`~/Library/Application Support/wx-cli/config/settings.toml`
|
||||
|
||||
@@ -208,7 +202,7 @@ ignore_tags = ["同事", "客户"]
|
||||
wx-cli/
|
||||
├── crates/
|
||||
│ ├── wx-decrypt/ # 核心解密库(KDF、逐页解密、整库解密)
|
||||
│ ├── wx-keychain/ # 密钥提取(LLDB / Mach VM)与本地存储
|
||||
│ ├── wx-keychain/ # 密钥提取(LLDB hook)与本地存储
|
||||
│ ├── wx-cli/ # CLI 入口
|
||||
│ ├── wx-db/ # 数据库查询(联系人、消息、会话、群聊)
|
||||
│ ├── wx-media/ # 媒体解密(图片、语音、视频)
|
||||
|
||||
Reference in New Issue
Block a user