Skip to content

borankux/wechat-tools

Repository files navigation

🔓 WeChat Tools

macOS 微信数据库解密 · 智能分析 · 可视化报告

macOS WeChat Python License

English · 功能特性 · 快速开始 · 分析维度 · 架构


从加密的微信本地数据库中提取聊天记录,用行为数据而非关键词构建你的社交关系图谱

不依赖云服务、不需要后端、不上传任何数据。一切在你的 Mac 本地完成。

✨ 功能特性

Phase 1: 数据获取

功能 说明
🔑 多方法密钥提取 LLDB 内存扫描 / LLDB 断点拦截 / Windows 跨平台提取
🔒 数据库解密 AES-256-CBC + HMAC-SHA512 + PBKDF2,支持自动批量解密
✅ 密钥验证 HMAC 校验,确保密钥正确后再解密
📦 数据导出 按联系人导出、关键词搜索、全量导出

Phase 2: 智能分析

功能 说明
🧭 关系方向性 谁主动找谁?主动维系 / 双向互动 / 被动接收
📈 关系趋势 近 3 月 vs 历史:升温 ↑ / 稳定 → / 降温 ↓
🎯 综合评分 频率 30% + 深度 25% + 趋势 20% + 主动性 15% + 回复率 10%
👥 群聊画像 核心人物、话题分类、广告占比、价值标签
🏷️ 智能标签 AI 驱动的内容标签(不只是关键词匹配)
💰 转账统计 收发金额、按人按月汇总
📊 多媒体统计 文件类型分布、传输趋势

Phase 3: 可视化

功能 说明
🫧 关系质量矩阵 互动频率 × 聊天深度 × 综合评分,一眼看清社交版图
📋 好友排行 评分、趋势、方向性,支持隐藏姓名截图
📅 月度趋势 Top 5 联系人互动折线图
🕐 时段分布 你的社交黄金时段
👨‍👩‍👧‍👦 群聊卡片 消息数、活跃度、价值标签、一句话总结
💡 社交建议 "应该多联系的人"(历史互动多但最近降温)

🚀 快速开始

前置条件

# 安装 sqlcipher(解密用)
brew install sqlcipher

# 安装 lldb(密钥提取用,通常随 Xcode CLI Tools 自带)
xcode-select --install

一键执行

git 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

或者:Windows 密钥 + Mac 解密

没有关闭 SIP?没关系。

  1. 在 Windows 电脑上用 WeChatMsg 提取密钥
  2. 在 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 等)
  • 更精确的发送者识别算法
  • 更丰富的分析维度
  • 更好看的可视化主题

📄 License

MIT


Made with ❤️ for personal data sovereignty

English

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

About

🔓 macOS WeChat database decrypt · smart analysis · interactive dashboard. Extract encrypted chat history, analyze relationships, generate visual reports — all locally.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors