wechat-decrypt 项目 macOS 解密流程

6 阅读1分钟

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 官方签名,重新执行"重签名微信"步骤即可。