macOS 快速部署指南
适用于 macOS + WeChat 4.x,基于本机 GUI 终端操作。
一、环境准备(仅首次)
1. 安装 Xcode Command Line Tools
xcode-select --install
2. 创建 Python 虚拟环境
macOS Homebrew Python 不允许直接 pip install,需使用虚拟环境:
cd ~/IdeaProjects/wechat-decrypt
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
安装成功后,终端提示符前会出现
(venv)标识。
3. 编译 macOS 密钥扫描器
cc -O2 -o find_all_keys_macos find_all_keys_macos.c -framework Foundation
4. 重签名微信(去除 Hardened Runtime)
# 检查当前签名状态
codesign -dv /Applications/WeChat.app 2>&1 | grep -E "Signature|flags"
如果看到 flags=0x10000(runtime)(Apple 官方签名),需要重签名:
# 先关闭微信
kill $(pgrep -x WeChat) 2>/dev/null
# Ad-hoc 重签名
sudo codesign --force --deep --sign - /Applications/WeChat.app
# 验证签名(期望看到 flags=0x2(adhoc))
codesign -dv /Applications/WeChat.app 2>&1 | grep -E "Signature|flags"
如果已经是 flags=0x2(adhoc),跳过此步。
注意: 重签名后微信需要重新登录。微信自动更新后签名会恢复,需再次执行此步骤。
二、每次使用流程
Step 1: 启动微信
确保微信已启动并登录。如果刚做完重签名,必须重新打开微信:
open /Applications/WeChat.app
等待微信完全启动并登录成功。
Step 2: 激活虚拟环境
cd ~/IdeaProjects/wechat-decrypt
source venv/bin/activate
Step 3: 提取密钥
sudo ./find_all_keys_macos
成功后会生成 all_keys.json。
Step 4: 解密数据库
python3 decrypt_db.py
解密后的数据库保存在 decrypted/ 目录。
Step 5: 启动 Web UI(可选)
python3 main.py
打开浏览器访问 http://localhost:5678 查看实时消息。
三、常见问题
task_for_pid failed: 5
| 原因 | 解决 |
|---|---|
| 微信未重签名 | 执行 sudo codesign --force --deep --sign - /Applications/WeChat.app |
| 重签名后未重启微信 | kill $(pgrep -x WeChat) 然后 open /Applications/WeChat.app |
| 通过 SSH 远程执行(Apple 签名时不可行) | 改为本机 GUI 终端操作,或先重签名为 ad-hoc |
| 终端未授权开发者工具 | 系统设置 → 隐私与安全性 → 开发者工具 → 启用终端 |
No module named 'Crypto'
未激活虚拟环境,先执行:
source venv/bin/activate
externally-managed-environment
不要直接 pip install,使用虚拟环境(见上方"环境准备"第 2 步)。
微信更新后密钥提取失败
微信自动更新会恢复 Apple 官方签名,重新执行"重签名微信"步骤即可。