一条命令解密微信PC聊天记录:PyWxDump 完整教程(项目已删库)
【免费下载链接】PyWxDump删库项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump
PyWxDump 是一款免费的命令行工具:它读取微信 PC 端进程的内存,提取出本地加密数据库的密钥,把用 SQLCipher 加密的聊天记录数据库解密,再导出为 HTML、TXT、JSON、CSV 等格式。但有件事必须先说在前面:这个项目收到了微信官方的律师函,作者于 2025 年 10 月 20 日删除了全部代码和提交历史,现在仓库里只剩一份移除通知。本文讲清楚它当时是怎么工作的、命令各自做什么,帮你把「内存取密钥 → 解密 → 多格式导出」这条技术链路学走。是否继续研究旧版本,请自行评估法律风险。
先看律师函:PyWxDump 为什么一夜删库
把项目的结局摆在最前面,后面读起来才有分寸感。README.md 里那份「项目移除通知」交代了三件事:
- 律师函来了:微信官方通过环球经纬律师事务所发函,认定项目核心功能涉嫌违反软件协议,要求下架全部代码、停止宣传相关内容。
- 作者删库避险:2025 年 10 月 20 日,作者移除全部代码与提交历史,声明今后不再提供任何更新、安全修复或使用指导,并请律师函提及的相关方立即删除本地副本与在线宣传内容。
- 风险自负:README 明确建议——如果你本地还留着旧版本,请删除;继续使用引发任何法律或合规问题,后果自行承担。作者后续只在微信公众号「逍遥之芯」分享 Python 等技术内容,不再涉及微信相关话题。
换句话说:今天 clone 这个仓库,你拿到的只有说明文件和两张图片,没有可运行的pywxdump模块。记住这个结论,再往下看它生前的样子。
原理白话:三步从微信进程里「摸」出数据库密钥
不用记术语,把整个流程想成取快递:
- 定位「收件人」——微信 PC 必须已登录并保持在后台运行。工具先扫描操作系统里的进程,把正在运行的微信进程找出来。
- 对「暗号」——微信把聊天记录存进一个用 SQLCipher 整体加密的 SQLite 数据库,文件本身打不开。解密用的密钥只存在于微信进程的内存里,工具扫描内存把它取出来,全程不碰微信的安装文件,也不用改任何源码。
- 开锁取件——拿密钥把加密的
.db文件还原成普通 SQLite 数据库,再读消息表,按你选的格式导出。
它的功能边界也一句话说清:只处理「已经在你这台电脑上」的本地记录,不碰服务器端数据。另外两个设计值得记住:作者按微信版本自动识别加密方式,不用手动对照版本表;同一台电脑登录多个微信账号时,可以逐个账号分别处理。
四步跑通当时的流程:从取密钥到导出聊天记录
⚠️ 代码已删除。以下命令是项目存续时期的用法,仅用于理解流程,现在执行
clone只会得到移除通知。
步骤 0:拉代码、装依赖
git clone https://gitcode.com/GitHub_Trending/py/PyWxDump cd PyWxDump pip install -r requirements.txt前置条件:Python 3.7+,微信 PC 已登录并运行。pip提示安装成功即可。如果克隆下来只看到 README 和图片目录,说明你拉的是删库后的仓库,到这里就停住。
步骤 1:提取密钥python -m pywxdump bias --auto
- 微信进程必须活着,终端要以管理员权限打开。
- 预期输出:扫描到的微信进程、版本号、密钥值,并在当前目录生成一份密钥缓存文件。
- 提示「未找到进程」时,先回任务管理器确认微信确实开着(不是只开着启动器)。
步骤 2:解密数据库python -m pywxdump decrypt --all
- 依赖上一步的密钥文件;微信继续保持运行——解密时会对照密钥校验,中途关闭微信可能导致文件锁定。
- 预期输出:逐个列出微信数据目录下的数据库文件,显示「解密成功」并写出解密后的
.db副本,结束时给汇总行数。
步骤 3:导出python -m pywxdump export --format html
- 预期输出:输出目录里生成 HTML 页面,消息按会话分组,图片类消息以占位或附件形式呈现,终端提示完成和文件总数。
- 自检三件事:HTML 打开不空白、会话列表非空、时间戳连续不跳变,都满足才算真跑通。
参数怎么挑:三种取密钥模式、四种导出格式
取密钥(bias 子命令)的三种玩法
| 你的处境 | 命令 | 说明 |
|---|---|---|
| 单账号,最常用 | python -m pywxdump bias --auto | 自动识别微信进程和版本,失败信号是「未找到进程」或版本不受支持 |
| 同机多开、自动识别选错账号 | python -m pywxdump bias --account <标识> | 指定账号重新取,失败信号是解密后的库是空的 |
| 多个账号一次跑完 | python -m pywxdump bias --multi | 按提示逐个确认;某个账号报错只中断该账号,不影响其他 |
💡 多账号机器建议先跑一遍--multi,看看识别列表是否符合预期,再决定是逐个--account还是一把梭。
导出格式按用途选
| 格式 | 体积 | 保留的信息 | 适合 |
|---|---|---|---|
| html | 大 | 消息、时间、附件占位,浏览器直接看 | 备份存档、归档阅读 |
| txt | 小 | 纯文本消息流 | 快速检索、文本分析 |
| json | 中 | 结构化字段:发送者、时间戳 | 脚本二次加工 |
| csv | 小 | 表格行,Excel 直接打开 | 统计报表 |
经验值:只留档就选 HTML;要做关键词统计或时间线分析,选 JSON 或 CSV 更省事。
三种常见用法
- 换电脑前完整备份:跑完整流程,HTML 保真度最高,另导一份 JSON 留结构化副本;导出目录压缩后放加密网盘或移动硬盘,并把备份日期和账号记进自己的备份台账。
- 留存记录作凭证:解密后的
.db文件和导出文件各留一份,逐份计算 MD5 并单独记录,事后用它证明文件没被改动;要展示时再转成 HTML,展示版与原始版分开存放。涉及他人隐私内容(比如共同群聊)时,公开前务必确认有权使用。 - 给自己做沟通复盘:用 JSON 导出后按会话过滤目标对象,统计每月消息条数、活跃时段、高频关键词;分析脚本直接读 JSON,不用碰二进制文件。
卡住了先查这 6 条
- 「未找到微信进程」——任务管理器确认微信开着且已登录;以管理员身份重开终端;再检查微信是否以管理员权限运行造成两边权限错位,权限对齐后重试。
- 密钥取到了,解密后数据库是空的——多半是取错账号。多开环境改用
--account指定目标账号重取;重取前把旧的密钥缓存文件移走,防止工具直接复用旧值。 - 解密报「文件被占用」——微信正在写库。⚠️ 别直接杀进程:先在微信里结束进行中的传输,等一两分钟让写入落盘;仍失败就重启微信后再解密。
- HTML 里图片看不到——文本正常但媒体缺失,通常是导出时媒体目录没同步生成。检查输出目录里有没有与 HTML 同级的媒体文件夹;没有就删掉旧输出重新导出,导出期间不要移动输出目录。
- 命令直接报
ModuleNotFoundError——依赖没装进当前 Python。用pip -V和python -V对照路径是否一致;不一致就改用python -m pip install -r requirements.txt。 - 仓库里没有 pywxdump 模块——这不是装坏了,是仓库已被清空(见 README.md 的移除通知)。此问题没有解法,属于项目现状,别再排查环境。
合规边界与下一步行动
这个项目的终点就是它的合规教训,别跳过这一节:
- 仓库是只读的,代码与提交历史已永久移除,无法恢复;本文保留的只是「它曾经怎么工作」。
- 官方函件已要求:停止使用、删除本地副本与线上宣传内容,由此引发的后果自负——如果你本地还有旧版本和密钥缓存,该清理的清理。
- 确实需要导出自己的聊天记录,优先走微信自带的迁移与备份功能;如仍研究旧版本,只操作自己拥有的账号和数据,遵守法律法规与平台协议。
- 把「内存取密钥 → SQLCipher 解密 → 多格式导出」这条链路整理成笔记存下来——这套思路在很多数据库解密工具里都能复用,比翻旧存档更有价值。
【免费下载链接】PyWxDump删库项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考