微信聊天记录导出与密钥安全笔记

一、工具与流程概览

使用的工具: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
包作用
pycryptodomeAES 解密微信数据库
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

流程说明:

  1. 检测微信版本
  2. 启动微信并注入 Hook 到进程
  3. 等待用户完成登录(扫码或手机确认)
  4. 从内存捕获密钥,输出到 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浏览器直接查看,带样式
.csvExcel 分析
.txt纯文本搜索

五、安全结论

工具本身

  • 纯本地操作,数据不上传
  • 只读取微信内存中的密钥,不修改微信程序或聊天记录
  • 开源项目,行为透明

真正风险

key.txt 是微信本地数据库的万能钥匙,配合数据目录可解密全部聊天记录。

处理要求

  1. 导出完成后立即删除 key.txt
  2. 导出文件按需保留,长期保存建议加密压缩
  3. 禁止将密钥或导出目录同步至网盘
  4. 禁止外传密钥文件
  5. 仅限导出本人账号数据

六、常见问题

微信 4.x 密钥存储变化
微信 4.1+ 内存中存的是 passphrase 而非最终密钥,工具需适配该版本才能捕获成功。

依赖缺失报错
提示 需要 zstandard 时,执行 pip install zstandard 即可。

环境重建
虚拟环境损坏时,删除 weixin 文件夹后重新执行 python -m venv 创建即可,不影响聊天数据。

标签: none

添加新评论