公司动态

如何免费导出微信聊天记录?一份从安卓手机到HTML的完整实战指南

📅 2026/8/17 17:43:49
如何免费导出微信聊天记录?一份从安卓手机到HTML的完整实战指南
如何免费导出微信聊天记录一份从安卓手机到HTML的完整实战指南【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump手机换了微信里几百条和家人、老同学的聊天记录眼看就要随着旧手机一起退休可微信官方始终没有提供一键导出功能——这大概是每个想永久保存聊天历史的人都遇到过的尴尬。好在开源工具 wechat-dump 提供了一条完全免费、可自行掌控的微信聊天记录导出路径从已 root 的安卓手机里取出加密数据库解析成文字、语音、图片、表情一应俱全的独立 HTML 文件还能顺手做聊天统计。本文就跟着一个真实用户的完整操作经历把整条路线从零走一遍。先从微信为什么不让导出说起你可能会问明明是自己的聊天记录为什么想导出这么难答案很简单——微信把数据存放在安卓手机内部私有目录/data/data/com.tencent.mm/MicroMsg之下数据库EnMicroMsg.db默认加密资源文件也使用内部私有格式。官方不提供任何接口普通用户自然无从下手。wechat-dump 的思路则是绕道而行借助 root 权限直接读取微信数据再通过解码算法把数据还原成通用格式。项目在wechat/目录里把整套逻辑拆成了模块——parser.py负责解析数据库render.py负责渲染 HTMLaudio.py负责语音转码emoji.py负责表情解密下载代码结构清晰也方便你在此基础上二次开发。第一步从手机里把数据库抱出来在动手之前先确认三件事一台已 root 的安卓手机、电脑上装好 adb、本机有 Python 3.8 以上环境。然后克隆项目并安装依赖git clone https://gitcode.com/gh_mirrors/we/wechat-dump cd wechat-dump pip install -r requirements.txt接下来就要进入微信的私有目录。微信的数据目录里有多个以 32 位十六进制字符串命名的子目录对应不同微信号你需要找到自己的那个${userid}然后把数据库和资源文件取出来。手动找太麻烦项目自带的android-interact.sh帮你自动完成这一切./android-interact.sh db这个脚本会通过 adb 在设备上查找 32 位字符串目录自动定位并拉取EnMicroMsg.db。如果你想要更稳妥的手动方式也可以直接用 adb 或文件管理器到/data/data/com.tencent.mm/MicroMsg/${userid}/EnMicroMsg.db把文件拷贝出来。第二步给加密的日记本找钥匙数据库拿到手了但它是一本上了锁的日记——EnMicroMsg.db默认使用 SQLCipher 加密直接读取只会得到乱码。项目刻意不提供解密方法而是让你用 SQLCipher 等第三方工具完成这一步解密后得到一个名为EnMicroMsg.db.decoded的明文数据库这才是后续所有操作的基础。这一步相当于给加密日记本配钥匙是整个流程里技术含量最高的一环。解密成功后你可以先用一条命令验证成果把手机里所有聊天对话列出来看看./list-chats.py EnMicroMsg.db.decoded看到一长串联系人和群聊名称就说明解析已经成功钥匙配对了。第三步把头像、图片、语音资源一网打尽光有数据库还不够微信的图片、语音、头像文件都存在独立的资源目录里包括avatar、emoji、image2、sfs、video、voice2六个子目录。这些文件也要从手机里搬到电脑上统一放进项目的resource目录。推荐的做法是先打包再传输避免逐个文件拷贝浪费大量时间./android-interact.sh res脚本会自动尝试用busybox tar压缩后传输速度远快于逐文件 pull如果手机上目录结构有差异改一下脚本里的RES_DIR即可。最终你要得到一个包含上述六个子目录的resource文件夹缺一不可。第四步一行命令生成属于自己的聊天网页材料和工具都齐了现在到了最有成就感的时刻——把某个联系人比如刚才提到的家人的全部聊天记录渲染成网页./dump-html.py 联系人显示名称执行完毕当前目录会多出一个output.html用浏览器打开就能像翻阅聊天软件一样回顾所有记录。项目自带的screenshots/byvoid.jpg展示了实际导出效果左侧是对方头像和带时长显示的语音消息右侧绿色气泡里是文字与图片时间戳清晰分隔不同时段画面和真实微信界面几乎一致。上图是 wechat-dump 实际生成的聊天记录 HTML 页面包含头像、文字气泡、图片和语音消息离线也能完整浏览。如果你只想导出某段时间的对话dump-html.py还支持--start参数按起始时间过滤比如只保留 2024 年之后的内容非常实用。第五步让语音消息开口说话很多人以为语音消息导出后就废了其实 wechat-dump 能把它们转成通用音频格式。微信语音原始格式是 SILK老版本是 AMR普通播放器不认好在项目third-party/silk/目录内置了完整解码源码先编译一下./third-party/compile_silk.sh再配合系统安装 sox 命令行工具wechat/audio.py会自动完成 SILK → 原始 PCM → MP3 的转换并把语音时长一并解析出来最终嵌进 HTML 里直接可播。整个转换过程对使用者完全透明你只需要确保编译成功、sox 可用即可。第六步破解 WXGF 图片格式的两条路图片和表情是聊天记录的重头戏但微信把图片存储为专有的 WXGF/WXAM 格式普通浏览器无法显示。wechat-dump 提供了两条解码路线你根据环境二选一路线 A本机 ffmpeg 解码。如果电脑装了 ffmpeg 和 ffprobewechat/wxgf.py会优先尝试本地解码——先探测图片是否以wxgf魔数开头再从中提取 HEVC 码流单帧转 PNG、多帧转 GIF质量和兼容性都有保障。这是最省事的方案什么都不用配置。路线 B安卓解码服务器。没有 ffmpeg 的环境可以编译并安装项目附带的 WXGFDecoder 安卓应用源码在WXGFDecoder/目录在手机上点一下Start Server然后给导出命令加上服务器地址./dump-html.py 联系人显示名称 --wxgf-server ws://192.168.1.5:8000手机上的解码服务器收到请求后会逐个把 WXGF 图片解码回传电脑端再写入本地缓存.dec文件下次直接命中缓存不用重复解码。上图是 WXGFDecoder 安卓应用界面显示服务器启动状态与连接信息手机与电脑处于同一局域网即可作为 WXGF 图片解码服务器使用。表情包的处理逻辑也在这条线路上wechat/emoji.py会先在本地resource/emoji里按 MD5 查找找不到再依据数据库中的 CDN 地址联网下载必要时用 AES 解密全程自动缓存省心省力。第七步让历史数据开口说话聊天记录导出了还能干点更有意思的事——数据分析。项目自带几个统计脚本帮你从对话中挖掘规律# 统计每个对话的文本消息条数、字符数、单词数 ./count-message.sh output_dir # 按时间分布绘制消息数量图表 ./plot-num-msg-by-time.py前者可以帮你直观看到我和谁聊得最多后者能分析出你的消息高峰时段比如深夜 11 点最活跃、周末消息量暴涨数据里藏着你的社交作息。如果你想导出所有对话的纯文本dump-msg.py也能一步到位输出的 txt 文件方便导入其他分析工具。进阶批量导出、表情缓存与自定义外观走完全流程后还有几个能显著提升体验的小技巧批量导出多个联系人dump-html.py一次只处理一个对话写个简单的 for 循环脚本就能循环导出所有人输出文件名用--output参数分别指定即可。预置表情缓存首次导出时大量表情需要联网下载很拖时间。可以提前下载项目提供的emoji.cache.tar.bz2表情缓存包并解压到项目根目录渲染时直接从缓存读取速度肉眼可见地变快。自定义网页外观所有 HTML 模板都放在wechat/static/目录下TP_MSG.html管文字消息、TP_IMG.html管图片、TP_VIDEO_FILE.html管视频、wx.css管全局样式。想改气泡配色、调整头像布局直接编辑这些文件再重新运行导出命令即可。把回忆握在自己手里回到开头的场景那位用户最终把和家人的全部聊天记录导出成了 HTML拷进 U 盘、存进网盘从此再也不怕换手机。微信聊天记录导出这件事门槛没有想象中高——root 手机、解密数据库、拉取资源、跑一条命令四步走完你就拥有了一份完全属于自己、永久可读的聊天档案。现在就去克隆 wechat-dump趁数据还在把你的聊天历史变成可以随时翻开的数字相册吧。【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考