news 2026/9/4 14:48:53

WeChatMsg 全解析:微信聊天记录如何从加密数据库变成 HTML、Word 和年度报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WeChatMsg 全解析:微信聊天记录如何从加密数据库变成 HTML、Word 和年度报告

WeChatMsg 全解析:微信聊天记录如何从加密数据库变成 HTML、Word 和年度报告

【免费下载链接】WeChatMsg提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg

你电脑里的微信聊天记录,其实锁在一个打不开的加密数据库里。WeChatMsg 就是干这件事的工具:找回密钥、解密本地数据库,把聊天记录批量导出为 HTML、Word、CSV,再生成年度聊天报告。下面拆解它跑起来的三个机制:密钥查找与解密、数据库解析与关联、多格式导出与报告渲染。

全景:从加密数据库到年度报告的完整流水线

一句话概括整条流水线:输入是 Windows 版微信在本地存放的加密 SQLite 数据库文件,处理分四步——查密钥、解密、解析关联、渲染输出,输出是可浏览的 HTML 会话页、可搬走的 CSV/Word 文档,以及一份统计好的年度聊天报告。

阶段输入做什么输出
解密加密的EnMicroMsg.db查找密钥,逐页解密 SQLite明文数据库
解析明文数据库 + 联系人库pandas 读取会话表,ID 关联昵称结构化聊天记录
导出结构化数据模板渲染 / 表格落盘HTML、CSV、Word
分析结构化数据计数、聚合、按天统计年度聊天报告

这四步是严格的因果链:拿不到明文,后面全无从谈起;拿到结构化数据,导出和报告只是"换一种画法"。下面逐个拆开。

机制一:密钥查找——只有 6 位已知的 7 位密码锁怎么开 🔐

问题:微信 PC 版用 SQLCipher(对 SQLite 文件逐页加密的扩展)保护本地数据库,你把.db文件拷出来也打不开——没有密钥,文件就是一堆乱码。

拆解:密钥一共 7 个字节,其中前 6 个字节就"写在"微信 PC 版的注册表条目(wcpay项)里,只有最后 1 个字节是隐藏的。于是"破解"退化成一次小搜索:把最后一个字节从 0 到 255 各试一遍,共 256 个候选。每换一个候选,就拿数据库的第一页试解密,看解出来是不是SQLite format 3这个标准文件头——相当于试密码锁时听"咔哒"一声。命中即真,整库解密落盘。入口extract.py启动后做的第一件事就是它。

所以呢:这一步把"不可解"的加密问题缩小成 256 次有限尝试,是整个项目一切后续处理的前提。

机制二:数据库解析与关联——把 ID 变回昵称,把密文变回文字 📒

问题:拿到明文数据库后,数据仍是"半加密"状态。会话记录按对话分表存放(每个会话一张Msg_表),表里的对象只是一个 ID 字符串,文字消息内容还经过一层固定替换表混淆。

拆解:这一层做两件事:

  • 关联:用pandas(Python 的表格处理库)逐表读取时间戳、收发标识、消息类型等字段,再拿另一个联系人数据库MicroMsg.db里的通讯录把 ID 翻译成昵称——就像成绩单上只有学号,得对着花名册才能知道是谁。
  • 还原:文字消息内容按一张固定的 SBox 替换表做 XOR 运算(两个对应位异或还原原字节),把混淆内容逐字节"翻译"回可读文本。

所以呢:这一层把"加密字节"变成"谁在何时对谁说了什么"的结构化数据,是导出和报告共同消费的中枢——数据质量到此定型。

机制三:多格式导出与年度报告——一份数据,三种出口 📊

问题:用户想要的交付物不一样:要能翻着看的网页、能导走的表格、能打印的文档,还想要一份"年度总结"。

拆解:同一个结构化数据集被三种"渲染器"处理:

出口方式适合场景
HTML模板按会话逐页渲染,附索引页长期留档、随时翻阅
CSV / Wordpandas 直接落表、python-docx 生成文档归档、打印、二次处理
年度报告在数据上做聚合统计(总字数、消息条数、按天分布、最常聊天对象等),渲染成单页网页报告回顾与分享

这像一个编辑部"一次采访、多端分发":稿子只写一遍,长文、图表、海报各出一版。顺带一提,项目 README 说明 2024 年度报告的代码在独立仓库维护,2025 年度报告计划回到本项目中实现。

所以呢:导出与报告只是同一份数据的不同画法,新增一种格式等于加一个渲染器,维护成本很低。

上手指南:三条命令跑通 WeChatMsg 导出流程 🚀

git clone https://gitcode.com/GitHub_Trending/we/WeChatMsg cd WeChatMsg && pip install -r requirements.txt python extract.py

几个关键项速查:

关键项说明注意
微信 PC 登录状态解密的是本机登录账号的本地数据库需在 Windows 版微信所在机器上运行
-w参数多账号登录时指定要提取的 wxid(微信唯一标识)不指定时默认取第一个找到的账号
输出目录HTML、CSV、Word 统一生成在本地输出目录生成后建议整体备份留档

此项目很久没有(也不会)更新了(未来也许会考虑截图+OCR实现,也许一年或许十年)

——README 里有这句实话,使用前提仍是"能读到本机旧版微信 PC 的本地数据库",若微信调整存储格式,流程可能失效,跑之前先确认账号版本。

收尾:WeChatMsg 工作原理的三条结论

  • 密钥查找把"破加密"缩小为 256 次候选尝试(注册表 6 字节 + 末位遍历),解密由此成立;
  • 解析与关联把密文字节变成结构化数据,是全项目的中枢;
  • 导出与年度报告只是同一数据的不同渲染器,扩展成本低。

想继续深入,从主入口extract.py的"解密 → 解析"流程读起,报告形态可参考readme.mddoc/中的截图。

【免费下载链接】WeChatMsg提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 14:45:03

2026年前端开发工程师转型AI Agent开发工程师全指南:从概念到代码实战

一、为什么说2026年是前端工程师转型AI Agent开发的最佳窗口期2026年的开发市场正在发生一次明显的岗位迁移:传统页面开发、管理后台和营销页的需求增速放缓,而围绕大语言模型构建的智能体应用正在成为新的需求中心。企业不再只想要一个会写页面的工程师…

作者头像 李华
网站建设 2026/9/4 14:40:12

Qwen Code VS Code 集成实战:5 分钟在 IDE 里跑通 AI 编码助手

Qwen Code VS Code 集成实战:5 分钟在 IDE 里跑通 AI 编码助手 【免费下载链接】qwen-code An open-source AI coding agent that lives in your terminal. 项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code 还在终端和编辑器之间来回切屏&#…

作者头像 李华