news 2026/8/17 17:44:01

微信聊天记录导出完整指南:wechat-dump 让安卓聊天记录一键变成可检索 HTML

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信聊天记录导出完整指南:wechat-dump 让安卓聊天记录一键变成可检索 HTML

微信聊天记录导出完整指南:wechat-dump 让安卓聊天记录一键变成可检索 HTML

【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump

你一定遇到过这样的时刻:换新手机前,想把和某个人的微信聊天记录永久存下来,结果翻遍设置只找到"迁移";想统计一下和某位老友到底聊了多少条、语音有多长,微信里却没有任何入口。作为国内最主流的聊天工具,微信从不提供官方导出能力,你的数据被困在 App 里,无法备份、无法分析、无法带走。

wechat-dump正是为解决这个问题而生的安卓微信聊天记录导出工具。它从已 root 的手机中提取微信数据库与资源文件,把文字、图片、语音、表情、视频解析并渲染成一份自包含的 HTML 网页,就像把整个聊天窗口原样搬进浏览器。这篇文章会用一次真实的导出流程,带你从零跑通它,并分享那些文档里没写清的坑。

为什么需要一款微信聊天记录导出工具

微信的数据封闭性,是这款工具存在的全部理由。官方既不开放导出,也不提供任何数据分析接口,用户连自己的聊天记录都无法访问。

wechat-dump 的破局思路很直接:绕过 App 层,直接处理手机上的原始数据库文件。只要设备能拿到 root 权限,就能把EnMicroMsg.db和头像、图片、语音、表情等资源目录完整搬出来,再由项目自带的解析器还原成可读、可渲染的消息流。

它能导出的内容相当完整:

  • 文字消息,保留排版和换行
  • 图片消息,自动解码嵌入网页
  • 语音消息,转成可播放的 mp3
  • 视频文件、表情包、引用回复、音乐分享
  • 时间戳、系统提示等辅助信息

更重要的是,最终产物是自包含的 HTML 文件,不依赖任何网络服务,离线双击就能浏览,还可以随手传给任何人。

上图就是一份真实导出结果:左侧是对方头像和语音气泡(带时长),右侧是自己的绿色气泡,图片消息原样展示,时间线清晰分隔了不同时段的对话。整个过程没有任何手工整理,全部由工具自动完成。

三分钟跑通第一步:环境准备

先明确一个前提:你需要一台已 root 的安卓手机、一条可用的 adb 连接,以及一台装了 Python 3.8 以上版本的电脑(Linux / macOS / Windows 加 Bash 均可)。

git clone https://gitcode.com/gh_mirrors/we/wechat-dump cd wechat-dump pip install -r requirements.txt

除了 Python 依赖,还建议提前装好两个小工具:

  • sox:语音处理命令行工具,负责语音消息的格式转换
  • ffmpeg / ffprobe:可选但强烈推荐,用于在电脑本地解码微信的 WXGF 专有图片格式

项目还内置了 Silk 语音解码器源码,跑一下./third-party/compile_silk.sh编译即可,语音消息能否正常导出就靠它。

微信数据库提取:最关键的一步

环境就绪后,核心工作是把微信的数据从手机里"搬"出来。项目提供了一个半自动脚本,帮你完成大部分操作:

# 提取数据库和头像索引 ./android-interact.sh db # 提取头像、图片、语音、表情、视频等资源目录 ./android-interact.sh res

脚本会自动在手机的/data/data/com.tencent.mm/MicroMsg下寻找那个 32 位十六进制字符组成的用户目录,并把EnMicroMsg.db以及avatarimage2voice2emojivideosfs等子目录拉到本地resource目录。

这里要提醒一句:拿到手的EnMicroMsg.db加密的。wechat-dump 本身不负责解密,这一步需要你自己用 SQLCipher 之类的工具处理,密钥通常与设备 IMEI 和微信 UIN 相关。解密后得到一个可被 sqlite3 直接打开的文件,后面所有命令都基于这个"已解码数据库"。

一键生成聊天记录 HTML:完整实操演示

假设你已经拿到了解码后的数据库文件EnMicroMsg.db.decoded和完整的resource目录,接下来就是见证奇迹的时刻:

# 先看看有哪些联系人 ./list-chats.py EnMicroMsg.db.decoded # 导出某个联系人的完整聊天记录 ./dump-html.py "联系人显示名称"

执行后,当前目录会生成output.html。用浏览器打开,就能看到前面截图里那种还原度极高的聊天界面——头像、气泡、时间线、图片、语音、表情全部就位。

几个常用参数值得记住:

# 指定输出文件 ./dump-html.py "张三" --output zhangsan.html # 只导出某个时间点之后的消息 ./dump-html.py "张三" --start "2024-01-01 00:00:00" # 消息特别多时,会自动拆分成多个 html 分片输出

如果只想导出语音消息,项目还提供了独立脚本dump-audio.py,能把某个联系人的所有语音批量转成带时长的 mp3 文件,一条一条保存到指定目录。

我踩过的坑:WXGF 图片解码失败

第一次跑通dump-html.py后,我发现文字和语音都正常,但很多表情和图片变成了空白占位符。排查后发现,微信的图片和部分表情用的是WXGF/WXAM 专有格式,普通浏览器根本不认。

wechat-dump 给了两条解码路径:

路径一:本机 ffmpeg 解码。只要电脑装了 ffmpeg 和 ffprobe,工具会优先尝试本地解码,单帧输出 PNG,多帧输出 GIF,全程自动,无需干预。

路径二:安卓解码服务器。如果电脑上没有 ffmpeg,项目还附带了一个安卓应用 WXGFDecoder,安装到手机后启动服务器,然后在导出命令中加上:

./dump-html.py "张三" --wxgf-server ws://手机IP:8080

前提是电脑和手机处于同一网络。看到下面的界面说明服务器已经就绪。

如果解码仍然失败,多半是 WXGF 文件本身有问题或服务器地址不通,可以先检查应用日志里是否出现了received binary messageAfter decoding记录。

从"能导出"到"会分析":聊天数据的附加价值

导出 HTML 只是开始。wechat-dump 的价值在于,它把微信数据变成了普通 sqlite 数据库,接下来你想怎么用都行。

项目自带几个分析脚本,几乎零成本上手:

# 把所有聊天导出为纯文本,方便全文检索 ./dump-msg.py EnMicroMsg.db.decoded output_dir # 统计每个联系人的消息条数、字符数 ./count-message.sh output_dir # 绘制某个联系人的消息数量随时间分布图 ./plot-num-msg-by-time.py EnMicroMsg.db.decoded "联系人名称"

比如你想知道自己和好友哪段时间聊天最频繁、语音总共聊了几小时,这两条命令就能给出答案。如果想批量导出多个联系人的聊天记录,写个循环脚本调用dump-html.py即可,几十个联系人也就几分钟的事。

表情包缺失问题的省心解法

首次导出时,很多表情需要联网下载,量大且慢。项目提供了预打包的表情缓存,可以在官网 Release 页面找到emoji.cache.tar.bz2,下载后解压到项目根目录,渲染时会优先使用本地缓存,速度提升非常明显,也能避免个别表情因微信版本更新而下不到、只能显示占位符的情况。

这份聊天记录导出工具适合谁

如果你属于下面任何一类,wechat-dump 都值得一试:

  • 永久保存和重要的人之间的聊天,而不是靠截图一张张存
  • 想做数据归档,把多年聊天记录变成可检索的本地档案
  • 好奇自己的聊天行为数据,比如消息频率、语音时长、活跃时段
  • 想基于自己的聊天数据做二次开发

它免费、开源、可离线使用,直接处理原始数据库,数据完整度是截图方案完全比不了的。唯一的门槛是 root 设备和数据库解密,这两步需要一些耐心,但一旦跑通,后面就是复制粘贴级别的操作。

现在就去克隆项目,给你的微信聊天记录建一个真正的数字档案馆吧——那些不会再有新消息的对话框,值得用 HTML 的形式被好好保存下来。

【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump

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

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

​ADO.NET 全面详解:SQL Server 数据访问从入门到实战​

ADO.NET 在 .NET 平台的后端开发中,数据库交互是核心能力之一,而 ADO.NET 作为微软官方提供的标准化数据访问技术栈,是操作关系型数据库的基石。本文将以 SQL Server 为例,系统梳理 ADO.NET 的五大核心对象、两种访问模式、事务…

作者头像 李华
网站建设 2026/8/17 17:42:41

乌鲁木齐播音主持学校靠谱分享

引言在当今社会,播音主持不仅是一种职业选择,更是连接公众与信息的重要桥梁。随着新媒体的迅速发展,播音主持人才的需求日益增长。位于新疆首府的【乌鲁木齐市中科高级技工学校】以其独特的教育资源和培养体系,在播音主持领域内崭…

作者头像 李华
网站建设 2026/8/17 17:42:20

本地视频弹幕神器 BiliLocal 使用教程:离线看番也能满屏弹幕

本地视频弹幕神器 BiliLocal 使用教程:离线看番也能满屏弹幕 【免费下载链接】BiliLocal add danmaku to local videos 项目地址: https://gitcode.com/gh_mirrors/bi/BiliLocal 深夜加班回家,翻出硬盘里存了好几年的动画合集,想重温一…

作者头像 李华
网站建设 2026/8/17 17:40:56

使用TCP,数据就一定不会丢失吗?

TCP 是一个可靠的传输协议,那它一定能保证数据不丢失吗?这次,就跟大家探讨这个问题。数据包的发送流程首先,我们两个手机的绿皮聊天软件客户端,要通信,中间会通过它们家服务器。大概长这样。聊天软件三端通…

作者头像 李华