快速开始
15 分钟内运行 wechat-decrypt,解密你的微信数据库
安装流程图
flowchart TD
A[克隆仓库] --> B[安装 Python 依赖]
B --> C[生成配置文件]
C --> D[编辑 config.json
设置 db_dir 路径] D --> E[以管理员权限
提取密钥] E --> F{密钥提取成功?} F -->|是| G[解密数据库] F -->|否| H[检查微信是否运行
检查管理员权限] H --> E G --> I[启动 Web 监控
或 MCP 服务] style A fill:#e1f5ff style E fill:#fff4e1 style G fill:#f0ffe1
设置 db_dir 路径] D --> E[以管理员权限
提取密钥] E --> F{密钥提取成功?} F -->|是| G[解密数据库] F -->|否| H[检查微信是否运行
检查管理员权限] H --> E G --> I[启动 Web 监控
或 MCP 服务] style A fill:#e1f5ff style E fill:#fff4e1 style G fill:#f0ffe1
前置要求
| 项目 | 版本/要求 | 说明 |
|---|---|---|
| 操作系统 | Windows 10/11 | 需要管理员权限读取进程内存 |
| Python | 3.10+ | 推荐使用 uv 或官方安装包 |
| 微信 | 4.0+ | 必须正在运行(登录状态) |
| 磁盘空间 | 2GB+ 可用空间 | 解密后的数据库约为原大小的 1-2 倍 |
验证环境
# 检查 Python 版本
python --version
# 预期输出: Python 3.10.x 或更高
# 检查微信进程是否运行
tasklist | findstr Weixin
# 预期输出: Weixin.exe ... 正在运行
常见错误 #1:Python 未安装或版本过低
'python' 不是内部或外部命令,也不是可运行的程序
修复:从 python.org 下载安装,或 winget install Python.Python.3.12
第一步:安装依赖
# 克隆仓库
git clone https://github.com/yourusername/wechat-decrypt.git
cd wechat-decrypt
# 安装依赖
pip install pycryptodome
预期输出:
Successfully installed pycryptodome-3.20.0
常见错误 #2:pip 安装失败
ERROR: Could not find a version that satisfies the requirement pycryptodome
修复:升级 pip 后重试
python -m pip install --upgrade pip
pip install pycryptodome
第二步:配置
首次运行会自动生成配置模板:
python find_all_keys.py
预期输出:
[!] 已生成配置文件: C:\...\wechat-decrypt\config.json
请修改 config.json 中的路径后重新运行
编辑 config.json,将 db_dir 改为你的微信数据目录:
{
"db_dir": "D:\\xwechat_files\\wxid_xxxxxxxxxxxx\\db_storage",
"keys_file": "all_keys.json",
"decrypted_dir": "decrypted",
"wechat_process": "Weixin.exe"
}
💡 如何找到 db_dir? 打开微信 → 设置 → 文件管理 → 查看"文件管理"路径,追加
\db_storage
配置项说明
| 名称 | 必需 | 默认值 | 说明 |
|---|---|---|---|
db_dir |
✅ | — | 微信加密数据库目录,格式如 D:\xwechat_files\{wxid}\db_storage |
keys_file |
❌ | all_keys.json |
提取的密钥保存位置(相对路径基于项目根目录) |
decrypted_dir |
❌ | decrypted |
解密后数据库输出目录 |
wechat_process |
❌ | Weixin.exe |
微信进程名(多开时需指定具体实例) |
常见错误 #3:路径配置错误
[!] 数据库目录不存在: D:\xwechat_files\...
修复:确认路径存在且包含 .db 文件:
ls "D:\xwechat_files\*\db_storage\*.db"
第三步:提取密钥(需要管理员权限)
右键点击 PowerShell 或 CMD,选择"以管理员身份运行",然后执行:
cd C:\path\to\wechat-decrypt
python find_all_keys.py
预期输出:
[*] 发现微信进程 PID: 12345
[*] 扫描内存中...
[*] 找到 26 个数据库
[✓] session/session.db -> key: x'abc123...'
[✓] message/message_0.db -> key: x'def456...'
...
[✓] 成功提取 26/26 个密钥
[*] 密钥已保存到: all_keys.json
首次运行交互时序
sequenceDiagram
participant U as 用户
participant C as CLI (find_all_keys.py)
participant W as 微信进程
U->>C: python find_all_keys.py
C->>C: 检查 config.json 存在?
alt 不存在
C->>C: 生成默认配置
C-->>U: 提示编辑 config.json
U->>C: 重新运行
end
C->>W: OpenProcess(Weixin.exe)
W-->>C: 进程句柄
loop 遍历内存区域
C->>W: VirtualQueryEx()
W-->>C: 内存区域信息
C->>C: 正则匹配 x'...' 模式
end
C->>C: HMAC-SHA512 验证密钥
C->>U: 输出提取结果
C->>C: 写入 all_keys.json
常见错误 #4:权限不足
[!] 无法打开进程: Access is denied
修复:必须以管理员身份运行终端。右键 PowerShell → "以管理员身份运行"
常见错误 #5:微信未运行
[!] 未找到微信进程: Weixin.exe
修复:先登录微信,确认任务管理器中有 Weixin.exe 进程
第四步:解密数据库
python decrypt_db.py
预期输出:
[*] 加载 26 个密钥
[*] 解密: session/session.db -> decrypted/session/session.db
[*] 解密: message/message_0.db -> decrypted/message/message_0.db
...
[✓] 完成! 共解密 26 个数据库
[*] 输出目录: C:\...\wechat-decrypt\decrypted
现在可以用任意 SQLite 工具打开解密后的数据库:
# 使用 SQLite 命令行
sqlite3 decrypted/session/session.db ".tables"
# 预期输出
Contact SessionAttach SessionInfo ...
第五步:实时消息监控(可选)
Web UI 方式(推荐)
python monitor_web.py
预期输出:
[*] 加载 26 个密钥
[*] 启动监控服务器 http://localhost:5678
[*] SSE 端点: /events
浏览器访问 http://localhost:5678,即可看到实时消息流。
命令行方式
python monitor.py
预期输出:
[*] 监控会话变化 (每 3 秒)...
[2024-03-15 14:32:01] 文件传输助手: [图片]
[2024-03-15 14:32:15] 工作群: @所有人 下午三点开会
第六步:接入 Claude AI(可选)
# 安装 MCP 依赖
pip install mcp
# 注册到 Claude Code
claude mcp add wechat -- python C:\full\path\to\mcp_server.py
然后在 Claude Code 中直接对话:
> 看看微信最近谁找我了
常见问题速查
| 错误现象 | 原因 | 一键修复 |
|---|---|---|
Access is denied |
未以管理员运行 | 右键 PowerShell → "以管理员身份运行" |
未找到微信进程 |
微信未启动 | 先登录微信客户端 |
数据库目录不存在 |
db_dir 路径错误 |
微信设置 → 文件管理 查看正确路径 |
HMAC 验证失败 |
密钥不匹配或微信版本更新 | 重启微信后重新提取密钥 |
端口 5678 被占用 |
其他程序占用端口 | python monitor_web.py --port 5679 |
下一步
| 文档 | 适合场景 |
|---|---|
| 📘 新手入门指南 | 想理解工作原理,无需密码学背景 |
| 🏗️ 构建与代码组织 | 准备修改代码或贡献 PR |
| 🔑 find_all_keys 模块详解 | 深入内存扫描与密钥验证机制 |
| 📡 monitor_web 模块详解 | 定制实时监控功能 |
| 🤖 mcp_server 模块详解 | 扩展 AI 查询能力 |