5 步免费导出微信聊天记录:用 wechat-dump 把安卓里的对话变成可搜索 HTML
5 步免费导出微信聊天记录用 wechat-dump 把安卓里的对话变成可搜索 HTML【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump你的微信里躺着几年份的聊天记录想备份却找不到官方出口——截屏翻页太慢、第三方网盘同步怕泄露、云端恢复又只认自家账号。这款开源工具wechat-dumpGitHub 加速计划 / we / wechat-dump专门解决这个痛点它从已 root 的安卓手机上直接解析微信数据库把文字、图片、语音、表情、视频统一渲染成一个独立的 HTML 文件离线也能打开还能顺手统计出你和谁聊得最勤。先看清差距翻聊天记录 vs 一键导出一句话定调wechat-dump 干的事是把微信锁死在自己数据库里的消息翻译成你能看懂、能检索、能分析的普通文件。它不依赖微信的任何导出接口直接读原始数据保证一条不漏。对比维度手动截屏微信自带备份wechat-dump图片语音截屏丢原图只能恢复到微信全部解出并嵌入 HTML可搜索不能不能浏览器 CtrlF 直接搜可统计不能不能自带统计脚本一次导出耗时以天计5 分钟实测 5 分钟内出结果最短路径实操从零到 output.html 的 6 个动作下面这套流程走完你就能在浏览器里看到自己导出的完整聊天记录。前提条件先列清楚一台已 root 的安卓手机、一台装了 adb 的电脑Linux / macOS / Win10Bash、Python 3.8 及以上。第一步克隆仓库并装依赖。在你的工作目录执行git clone https://gitcode.com/gh_mirrors/we/wechat-dump cd wechat-dump pip install -r requirements.txt第二步编译语音解码器并确认 sox 已装。微信语音是 Silk 编码仓库里带了源码./third-party/compile_silk.shsox 用系统包管理器装macOS 是brew install soxUbuntu 是apt install sox。第三步拉取数据库文件。手机连上电脑并开启 USB 调试后运行./android-interact.sh db脚本会自动在/data/data/com.tencent.mm/MicroMsg下找一个 32 位十六进制的用户目录把EnMicroMsg.db和旧版的avatar.index拉到当前目录。第四步解密数据库。微信的数据库是加密的wechat-dump 明确不提供解密方法你需要用 SQLCipher 等工具自行解密得到EnMicroMsg.db.decoded。解密密钥通常和设备 IMEI、微信 UIN 相关这一步以你所用解密工具的官方说明为准。第五步拉取资源目录。头像、表情、图片这些原始文件同样需要./android-interact.sh res结束后确认当前目录下有一个resource文件夹里面包含avatar、emoji、image2、sfs、video、voice2六个子目录。第六步导出并打开。先查一下该用哪个名字./list-chats.py EnMicroMsg.db.decoded然后把你看到的联系人显示名填进命令./dump-html.py 郭家賓几秒钟后当前目录出现output.html浏览器打开就是完整的聊天页面。想换输出文件名或指定数据库路径用./dump-html.py -h查看全部参数。亮点一专有 WXGF 图片格式的两种解码方案微信把聊天图片和表情存成自有的 WXGF/WXAM 格式普通看图软件认不出来。wechat-dump 给了两条路方案 A推荐电脑上装好 ffmpeg解析时自动在本地解码全程无感。方案 B没有 ffmpeg 时装一个项目自带的 WXGF Decoder 安卓应用当解码服务器然后在导出命令里追加--wxgf-server ws://设备IP:8080指向它。WXGF Decoder 是个图形界面小应用点一下START SERVER就开跑注意它依赖原生库需要 ARMv8arm64-v8a架构的设备并且要和电脑连在同一个 WiFi 下。日志里那两行size174061和After decoding: size348182就是在告诉你原始 WXGF 字节流已经被还原成标准图片了。亮点二20 多种消息类型的完整还原解析器对消息类型做了精细区分光是常量就有 20 多个。文字、图片、语音、视频这些基础类型自不必说红包会解析出发送者标题转账会解析出金额描述位置消息会还原成名称 经纬度连 QQ 音乐分享都能拆出歌名、歌手和链接。语音消息走 Silk 解码器转成可播放格式嵌入 HTML 后点一下就能听时长显示也一并保留。亮点三三条命令把聊天记录变成数据导出之外项目还送你几个统计小工具。想拿到所有聊天对象的纯文本消息一条命令搞定./dump-msg.py EnMicroMsg.db.decoded output_dir想统计每个对话的消息数量再跑./count-message.sh output_dir想看清自己的活跃时段./plot-num-msg-by-time.py会按时间画出消息分布图。这三步走完你的聊天记录就从封闭数据变成了可分析数据。避坑锦囊新手最容易栽的 4 个跟头❌ 数据库没解密就开跑 → ✅ 先确认文件头。dump-html.py默认找EnMicroMsg.db.decoded如果直接拿加密库喂进去解析器会报错甚至卡死。动手前先确认这个文件是解密产物。❌ 手动去翻用户目录拼路径 → ✅ 让脚本自己找。android-interact.sh会扫描 32 位十六进制的目录名并自动选中省去你在 root 文件系统里摸索的功夫。万一它选错了README 里也提示过可能选中错误 userid再手动指定。❌ 在 Android 系统自带 tar 上硬拉大目录 → ✅ 优先 busybox。微信资源目录动辄几个 G系统自带 tar 遇到长路径容易断。脚本默认优先尝试busybox tar失败才退回adb pull所以别在中途手动中断它。❌ 首次导出等表情下载等到怀疑人生 → ✅ 提前解压表情缓存。表情包数量庞大官方发布页提供了emoji.cache.tar.bz2缓存包下载后解压到项目根目录渲染时就能跳过大量网络下载。❌ WXGF 图片显示为空白 → ✅ 检查解码链路。先确认 ffmpeg 是否真的在 PATH 里没有就走方案 B 并核对ws://地址能否从电脑访问ping一下手机 IP 最直接。真实效果演示一张截图看懂导出的成品下面是项目仓库里一份真实导出的 HTML 截图聊天对象是郭家賓逐条解读这张图你能看到几个关键设计时间分片截图里 7:44、2:52、17:48:50 这些灰色时间戳不是随手打的。渲染器把两条消息间隔超过 5 分钟的对话切成分段换天则强制开启新分段——这也是为什么长篇聊天记录能被组织得井井有条。气泡方向左侧绿色气泡是对方消息带头像右侧绿色气泡是本人消息方向逻辑和微信一致看一眼就懂。内嵌图片图片消息以原图质量嵌进气泡内不需要外部加载这正是独立 HTML 文件离线可看的底气。自动分卷消息量特别大的对话单文件会按每 1500 条左右拆分成output00.html、output01.html依次命名避免一个 HTML 大得让浏览器卡死。收尾下一步你可以做什么到这里你已经完整跑通了导出流程。想往深了走这三个方向最值得尝试批量导出所有联系人写个 shell 循环把list-chats.py的输出喂给dump-html.py一个脚本搞定全家桶。定制页面样式消息模板在 wechat/static/ 目录里改TP_MSG.html和wx.css就能换掉默认的绿白配色做成你自己的风格。按时间段切片导出dump-html.py支持--start 2024-01-01 00:00:00参数想只导出某一年的记录一条命令即可。继续深入了解可以直接翻仓库根目录的 README.md 和 WXGFDecoder/ 的说明。工具在 2025/01/01 验证过最新版微信但微信每次更新都可能调整数据库结构如果遇到解析异常去项目的 wiki 或 Issues 里看看有没有人报告相同情况——那里通常藏着最快的解法。【免费下载链接】wechat-dumpAnalyzing your wechat message history from android项目地址: https://gitcode.com/gh_mirrors/we/wechat-dump创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考