WechatExporter
🌶 过期警告: 本页面距今已有 875 天未更新,年久失修,内容可能有所偏颇,还请仔细甄别!
本程序参考 https://github.com/stomakun/WechatExport-iOS修改成 C++来实现,便于 在各个平台以更少依赖运行。同时增加了聊天群名称的解析支持和更多消息类型的导出支 持。导出支持 Text、HTML、PDF 三种格式。
- 导出的聊天记录页面可以设置为打开时一次性加载完成(默认方式)、打开时异步加载、 页面滑动到底部时加载更多三种方式,可以在菜单“选项”中修改加载方式。
- 可以在导出的页面增加过滤功能,功能也需要在菜单“选项”中设置。
- PDF 格式,实质是导出打开时一次性加载完成的 HTML 页面,然后通过 Google Chrome 或者 Microsoft Edge 浏览器的功能转成 PDF 文件,转 PDF 文件耗时较长,请不要关闭 自动弹出的命令行窗口。
- 增量导出:菜单“选项”中,如果设置了增量导出,则会仅仅导出上一次导出的最后一条消 息之后的部分,通过此功能,再一次备份之后,微信中的聊天记录可以删除,下一次导 出,可以把同一个聊天群的消息合并在一起。
操作步骤
-
通过 iTunes 将手机备份到电脑上(备份时不要选择设置口令),Windows 操作系统一般 位于目录:C:\用户[用户名]\AppData\Roaming\Apple Computer\MobileSync\Backup\。Android 手机可以找一个 iPad/iPhone 设备,把聊天 记录迁移到 iPad/iPhone 设备上,然后通过 iTunes 备份到电脑上。
-
下载执行文件(最新版本下载链接见上)。
-
执行解压出来的 WechatExport.exe/WechatExporter.app (Windows 下如果运行报缺少 必须的 dll 文件,请安 装Visual C++ 2017 redist后 再尝试运行)
-
按界面提示进行操作。
-
导出后的页面示例:
点击链接可打开网页:https://src.wakin.org/github/wxexp/demo/
模版修改
解压目录下的 res\templates(MacOS 版本位于 Contents\Resources\res)子目录里存放了 输出聊天记录的 html 页面模版,其中通过两个%包含起来的字符串,譬如,%%NAME%%,不 要修改之外,其它页面内容和格式都可以自行调整。
特别感谢 Chao.M 帮忙优化当前的模版。
系统依赖
Windows 版本:Windows 7+(XP 不支持),
Visual C++ 2017 redistat
The latest supported Visual C++ downloads
MacOS 版本:MacOS 10.10(Yosemite)+
程序编译
程序依赖如下第三方库:
- libxml2: http://www.xmlsoft.org/
- libcurl: https://curl.se/libcurl/
- libsqlite3: https://www.sqlite.org/index.html
- libprotobuf: https://github.com/protocolbuffers/protobuf
- libjsoncpp: https://github.com/open-source-parsers/jsoncpp
- lame: http://lame.sourceforge.net/
- silk: https://github.com/collects/silk(也参考了: https://github.com/kn007/silk-v3-decoder)
- libplist: https://github.com/libimobiledevice/libplist, https://github.com/libimobiledevice-win32/libplist
- libiconv(windows only): https://www.gnu.org/software/libiconv/
- openssl(windows only):https://github.com/openssl/openssl
- WTL (windows only):https://sourceforge.net/projects/wtl/
MacOS 下,libxml2,libcurl,libsqlite3 直接使用了 Xcode 自带的库,其它第三方库需自 行编译。
libmp3lame 需手动删除文件 include/libmp3lame.sym 中的行:lame_init_old
Windows 环境下,silk 自带 Visual Studio 工程文件,可以直接利用 Visual Studio 编 译,其余除了 libplist 之外,都通过 vcpkg 可以编译。libplist 在 vcpkg 中也存在, 但是在编译 x64-windows-static target 的时候报了错,于是直接通过 Visual Studio 建 了工程进行编译。
已测试 iTunes 和微信版本
- iTunes 12.3.3.17 + 微信 6.5.9
- iTunes 12.5.1.21 + 微信 6.3.30
- iTunes 12.10.10.2 + 微信 7.0.2
- iTunes 12.10.9.3 + 微信 7.0.15
- iTunes 12.9.5.5 + 微信 7.0.2
- Windows 10 + iTunes 12.11.0.26(Microsoft Store) + 微信 7.0.2
- Windows 10 + iTunes 12.11.0.26(Microsoft Store) + 微信 8.0.1
- Mac Catalina (Embedded iTunes) + 微信 8.0.1/8.0.2
- Windows 7 + iTunes 12.10.9.3 + 微信版本 8.0.2
- Windows 10 + iTunes 12.11.3.17 + 微信 8.0.7
- Windows 7 + iTunes 12.10.9.3/Mac Catalina (Embedded iTunes) + 微信 7.0.2 + iOS 9.3.5
- Windows + iTunes 12.10.3.1+ 微信 7.0.10 + iOS 13.3 (@lazybug163)
- MacOS 11.6(Embedded iTunes)+ iOS Version: 15.0 + 微信 8.0.9