微信聊天记录导出
微信聊天记录导出与密钥安全笔记
一、工具与流程概览
使用的工具:wechat-chat-export(本地开源导出工具)
核心脚本:
capture_key.py:从微信进程内存捕获数据库密钥export_chat.py:用密钥解密并导出聊天记录
二、环境准备
创建虚拟环境
python -m venv G:\ProgramFiles\pythonvenv\weixin
G:\ProgramFiles\pythonvenv\weixin\Scripts\activate安装依赖
pip install pycryptodome zstandard| 包 | 作用 |
|---|---|
| pycryptodome | AES 解密微信数据库 |
| zstandard | 解压微信 4.x 数据库的 zstd 压缩内容 |
三、捕获密钥
python "C:\Users\Administrator\.workbuddy\skills\wechat-chat-export\scripts\capture_key.py" --wechat-exe "D:\ProgramFiles\Weixin\Weixin.exe" --out G:\file\cert\wx --close-first流程说明:
- 检测微信版本
- 启动微信并注入 Hook 到进程
- 等待用户完成登录(扫码或手机确认)
- 从内存捕获密钥,输出到
key.txt
关键输出:
- 微信版本:4.1.13.65
- 密钥路径:
G:\file\cert\wx\key.txt - 等待上限:240 秒
四、导出聊天记录
python "C:\Users\Administrator\.workbuddy\skills\wechat-chat-export\scripts\export_chat.py" --data-root "D:\Backup\xwechat_files" --key-file "G:\file\cert\wx\key.txt" --target 文件传输助手 --out-dir G:\file\cert\wx参数含义:
--data-root:微信数据目录--key-file:密钥文件--target:目标会话名称--out-dir:导出目录
导出结果:
- 账号目录:
D:\Backup\xwechat_files\BuRui156_614c - 消息分片:
message_0.db至message_8.db - 合计消息:3511 条
- 交叉核对:通过,最后消息时间与源数据一致
输出文件(三种格式,内容一致):
| 格式 | 用途 |
|---|---|
| .html | 浏览器直接查看,带样式 |
| .csv | Excel 分析 |
| .txt | 纯文本搜索 |
五、安全结论
工具本身
- 纯本地操作,数据不上传
- 只读取微信内存中的密钥,不修改微信程序或聊天记录
- 开源项目,行为透明
真正风险
key.txt 是微信本地数据库的万能钥匙,配合数据目录可解密全部聊天记录。
处理要求
- 导出完成后立即删除
key.txt - 导出文件按需保留,长期保存建议加密压缩
- 禁止将密钥或导出目录同步至网盘
- 禁止外传密钥文件
- 仅限导出本人账号数据
六、常见问题
微信 4.x 密钥存储变化
微信 4.1+ 内存中存的是 passphrase 而非最终密钥,工具需适配该版本才能捕获成功。
依赖缺失报错
提示 需要 zstandard 时,执行 pip install zstandard 即可。
环境重建
虚拟环境损坏时,删除 weixin 文件夹后重新执行 python -m venv 创建即可,不影响聊天数据。