PyWxDump:从零开始掌控你的微信数据——密钥获取、解密与可视化全攻略
在数字时代,微信聊天记录不仅仅是即时通讯的数据,更是我们生活轨迹、工作记录和情感记忆的载体。然而,微信官方的聊天记录迁移功能虽然方便,但数据的封闭性始终是一个痛点:
- 误删无法恢复:一旦手滑删除,官方几乎不提供恢复手段。
- 格式封闭:聊天记录被加密存储,无法像文本文件一样随意查看或搜索。
- 数据分析难:想统计一下和谁聊得最多?想生成年度词云?官方 App 做不到。
今天,我们将介绍一款强大的开源神器 —— PyWxDump。它能让你真正拥有自己的微信数据,从获取密钥、解密数据库到生成可视化的 HTML 备份,统统搞定!
⚠️ 郑重声明:本文介绍的技术仅供个人学习、数据备份与研究使用。请勿用于侵犯他人隐私或任何非法用途。
🛠️ PyWxDump 是什么?
PyWxDump 是一款功能强大的微信数据分析工具,支持 Windows 版本的微信。它的核心能力包括:
- 全能信息获取:一键提取微信昵称、账号、手机号、邮箱,以及最重要的 SQLite 数据库密钥 (Key)。
- 无感解密:支持多账户、全版本的微信数据库解密。
- 可视化管理:提供 Web 界面,像浏览网页一样查看、搜索聊天记录。
- 多格式导出:
- HTML: 包含图片、语音的完整聊天备份,体验还原度极高。
- CSV/JSON: 适合进行数据清洗和 AI 训练分析。
🚀 保姆级实战教程
Step 0: 环境准备
首先,你需要确保电脑上安装了 Python 环境(建议 Python 3.8+)。
打开终端(CMD 或 PowerShell),执行以下命令安装 PyWxDump:
pip install pywxdump
安装完成后,在终端输入 pywxdump,如果看到帮助信息,说明安装成功。
Step 1: 获取密钥 (Key) 与 个人信息
这是最关键的一步。微信的数据库(MSG.db, MicroMsg.db 等)是经过加密的,没有密钥就只是一堆乱码。
- 登录微信:确保电脑上的微信已经登录。
- 运行命令:
pywxdump info
- 查看结果:
终端会输出一段 JSON 格式的信息,其中包含了你的:
wxid: 微信 IDkey: 数据库密钥(一串 64 位的字符)db_path: 微信数据文件夹的路径
有了 key 和 db_path,你就拥有了打开数据宝库的钥匙。
Step 2: 启动可视化界面 (Web UI)
对于大多数用户来说,命令行操作还是不够直观。PyWxDump 贴心地提供了一个 Web 界面。
在终端输入:
pywxdump ui
注:如果 ui 命令无效,请尝试 pywxdump web。
命令执行后,会自动在浏览器中打开一个页面(通常是 http://127.0.0.1:5000)。
Step 3: 在浏览器中查看与导出
在 Web 界面中,你可以进行“傻瓜式”操作:
- 初始化:点击页面上的“获取信息”或类似按钮,工具会自动读取当前登录微信的配置。
- 解密数据库:选择你需要查看的账号,点击解密。工具会自动使用获取到的 Key 解密本地的
.db文件。 - 浏览聊天:
- 点击左侧的好友列表,即可在右侧看到完整的聊天记录。
- 支持搜索关键词、按日期筛选。
- 导出数据:
- HTML 备份:这是最推荐的功能。导出的 HTML 文件可以直接用浏览器打开,界面仿照微信 UI,包含图片预览和语音播放功能,完美复刻聊天场景。
- CSV 导出:如果你想做数据分析(比如用 Python 统计聊天频率),可以选择导出为 CSV 格式。
💻 进阶玩法:Python 脚本自动化
如果你是开发者,PyWxDump 还提供了极其方便的 Python API,可以轻松集成到你自己的脚本中。
示例:打印微信个人信息
from pywxdump import WxInfo
# 初始化
wx_info = WxInfo()
# 获取当前登录的微信信息
info_list = wx_info.get_info()
for info in info_list:
print(f"昵称: {info.get('nickname')}")
print(f"账号: {info.get('account')}")
print(f"密钥: {info.get('key')}")
print("-" * 30)
示例:解密数据库
from pywxdump import batch_decrypt
# 假设你已经获取了 key 和 db_path
key = "你的64位密钥"
db_path = "C:\\Users\\...\\WeChat Files\\wxid_...\\Msg"
out_path = "./decrypted_db" # 解密后的存放路径
# 执行批量解密
batch_decrypt(key, db_path, out_path)
print("数据库解密完成!")
🛡️ 安全提示
- 数据隐私:
PyWxDump是一个本地工具,所有的数据处理都在你的电脑上完成,不会上传到任何服务器。 - 账号安全:该工具通过内存读取等方式获取密钥,属于逆向工程范畴。虽然目前使用相对安全,但建议不要频繁在不安全的网络环境下运行,且仅用于自己的账号。
- 合规使用:导出的聊天记录涉及他人隐私,请务必妥善保管,严禁未经许可公开发布他人的聊天内容。
结语
PyWxDump 给了我们一把钥匙,让我们不再是数据的“租客”,而是真正的主人。无论是为了备份珍贵的回忆,还是为了进行有趣的数据分析,它都是目前最优秀的解决方案之一。
赶快动手试试,把你的独家记忆永久保存下来吧!
学习笔记
1.安装
pip install -U pywxdump
2.使用
wxdump -h # 查看具体帮助
# 用法:
# wxdump 模式 [参数]
# mode 运行模式:
# bias 获取微信基址偏移
# info 获取微信信息
# wx_path 获取微信文件夹路径
# decrypt 解密微信数据库
# merge [测试功能]合并微信数据库(MSG.db or MediaMSG.db)
# all 【已废弃】获取微信信息,解密微信数据库,查看聊天记录
# ui 启动网页图形界面
# api 启动API服务, 默认端口5000,无图形界面
3.便捷使用
wxdump info
wxdump -k -i ...