从加密的微信本地数据库中提取聊天记录,用行为数据而非关键词构建你的社交关系图谱。
不依赖云服务、不需要后端、不上传任何数据。一切在你的 Mac 本地完成。
| 功能 | 说明 |
|---|---|
| 🔑 多方法密钥提取 | LLDB 内存扫描 / LLDB 断点拦截 / Windows 跨平台提取 |
| 🔒 数据库解密 | AES-256-CBC + HMAC-SHA512 + PBKDF2,支持自动批量解密 |
| ✅ 密钥验证 | HMAC 校验,确保密钥正确后再解密 |
| 📦 数据导出 | 按联系人导出、关键词搜索、全量导出 |
| 功能 | 说明 |
|---|---|
| 🧭 关系方向性 | 谁主动找谁?主动维系 / 双向互动 / 被动接收 |
| 📈 关系趋势 | 近 3 月 vs 历史:升温 ↑ / 稳定 → / 降温 ↓ |
| 🎯 综合评分 | 频率 30% + 深度 25% + 趋势 20% + 主动性 15% + 回复率 10% |
| 👥 群聊画像 | 核心人物、话题分类、广告占比、价值标签 |
| 🏷️ 智能标签 | AI 驱动的内容标签(不只是关键词匹配) |
| 💰 转账统计 | 收发金额、按人按月汇总 |
| 📊 多媒体统计 | 文件类型分布、传输趋势 |
| 功能 | 说明 |
|---|---|
| 🫧 关系质量矩阵 | 互动频率 × 聊天深度 × 综合评分,一眼看清社交版图 |
| 📋 好友排行 | 评分、趋势、方向性,支持隐藏姓名截图 |
| 📅 月度趋势 | Top 5 联系人互动折线图 |
| 🕐 时段分布 | 你的社交黄金时段 |
| 👨👩👧👦 群聊卡片 | 消息数、活跃度、价值标签、一句话总结 |
| 💡 社交建议 | "应该多联系的人"(历史互动多但最近降温) |
# 安装 sqlcipher(解密用)
brew install sqlcipher
# 安装 lldb(密钥提取用,通常随 Xcode CLI Tools 自带)
xcode-select --installgit clone https://github.com/borankux/wechat-tools.git
cd wechat-tools
# Step 1: 提取密钥(需要关闭 SIP)
PYTHONPATH=$(lldb -P) python3 scripts/extract_keys_lldb.py
# Step 2: 验证密钥
python3 scripts/verify_keys.py --keys wechat-db-backup/wechat_keys.json
# Step 3: 解密数据库
python3 scripts/decrypt_db.py \
--keys wechat-db-backup/wechat_keys.json \
-o wechat-db-backup/decrypted
# Step 4: 分析
python3 scripts/analyze.py -d wechat-db-backup/decrypted -o wechat-db-backup/analysis
python3 scripts/analyze_groups.py -d wechat-db-backup/decrypted -o wechat-db-backup/analysis
# Step 5: 生成可视化报告
python3 scripts/generate_dashboard.py \
-a wechat-db-backup/analysis \
-o wechat-dashboard.html
open wechat-dashboard.html没有关闭 SIP?没关系。
- 在 Windows 电脑上用 WeChatMsg 提取密钥
- 在 Mac 上用该密钥解密:
python3 scripts/decrypt_with_key.py --key <64位hex密钥>┌─────────────────────────────────────────────────┐
│ 联系人: 张三 │
│ ─────────────────────────────────────────────── │
│ 互动频率: 342 条消息 / 28 天活跃 │
│ 关系方向: 双向互动 (主动性 48%) │
│ 关系趋势: 升温 ↑ (近3月均值 > 历史 1.5x) │
│ 聊天深度: 平均 18.3 字/条, 深度消息 23% │
│ 综合评分: 72.5 / 100 │
│ 活跃时段: 晚间型 (peak: 21:00) │
│ 时间跨度: 2025-10 ~ 2026-05 │
└─────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ 群名: ALL IN TOP 5 │
│ ─────────────────────────────────────────────── │
│ 标签: 核心决策 / 商业战略 / 技术方向 │
│ 生命周期: 持续活跃 │
│ 日均: 18.8 条 / 活跃 24 天 │
│ Top 发言: SJW(89) / M(76) / Shuhang(52) │
│ 广告占比: 1% │
│ 总结: 核心决策群,日均19条,需持续关注 │
└─────────────────────────────────────────────────┘
wechat-tools/
├── scripts/
│ ├── extract_keys_lldb.py # LLDB 内存扫描提取密钥
│ ├── decrypt_with_key.py # Windows 密钥 + Mac 解密
│ ├── decrypt_db.py # 批量解密数据库
│ ├── verify_keys.py # 密钥 HMAC 验证
│ ├── export_messages.py # 聊天记录导出/搜索
│ ├── analyze.py # 私聊关系分析
│ ├── analyze_groups.py # 群聊画像分析
│ └── generate_dashboard.py # 交互式 HTML 仪表板生成
├── CLAUDE.md # 项目协作规则
└── README.md
- 解密: SQLCipher + AES-256-CBC + HMAC-SHA512 + PBKDF2
- 分析: Python 3 + SQLite3 + ZSTD 解压
- 可视化: 纯前端 HTML + Chart.js + Vanilla JS(无需服务器)
- 密钥提取: LLDB + Python scripting bridge
| 类型 | 可提取内容 |
|---|---|
| 文本 | 完整内容 ✅ |
| 链接/公众号 | 标题 + 描述 + URL ✅ |
| 文件传输 | 文件名 + 大小 ✅ |
| 引用回复 | 原消息 + 回复 ✅ |
| 转账 | 金额 + 备注 ✅ |
| 位置 | 坐标 + 地址 ✅ |
| 名片 | 昵称 + 微信号 ✅ |
| 图片/语音/视频 | 文件在多媒体目录(数据库内为二进制 blob) |
| 表情/红包 | 有限信息 |
- 关闭 SIP: LLDB 密钥提取需要关闭 macOS SIP(恢复模式 →
csrutil disable) - 微信版本: 4.1+ 密钥不再明文缓存,建议使用 Windows 跨平台方案
- 数据安全: 所有处理在本地完成,不上传任何数据
- 法律合规: 仅用于个人数据备份和分析,请遵守当地法律法规
欢迎 Issue 和 PR!特别是:
- 新的密钥提取方法(Frida hook 等)
- 更精确的发送者识别算法
- 更丰富的分析维度
- 更好看的可视化主题
Made with ❤️ for personal data sovereignty
macOS WeChat database decryption, analysis, and visualization toolkit. Extract encrypted chat history, analyze relationship directionality/trends/quality, and generate interactive HTML dashboards — all locally on your Mac.
Key features:
- Multi-method key extraction (LLDB memscan / Windows cross-platform)
- Relationship scoring based on behavioral data (not keywords)
- Group chat profiling with AI-powered content tags
- Interactive HTML dashboard with Chart.js
- ZSTD decompression for WeChat 4.x message formats
- Zero cloud dependency — everything runs locally
# Quick start
git clone https://github.com/borankux/wechat-tools.git
cd wechat-tools
python3 scripts/analyze.py -d decrypted/ -o analysis/
python3 scripts/generate_dashboard.py -a analysis/ -o dashboard.html