快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
开发一个微信聊天记录备份工具,核心功能包括:1. 扫描手机/电脑本地微信数据目录并解析.db文件 2. 按联系人/时间分类展示可备份内容(文字/图片/文件)3. 支持导出为HTML/PDF格式或同步至云盘 4. 提供加密压缩选项。要求使用Python+Flask构建Web界面,自动处理微信加密数据库,生成带时间轴的可视化聊天记录。需包含进度显示和断点续传功能。 - 点击'项目生成'按钮,等待项目生成完整后预览效果

最近需要换手机,微信里几年的聊天记录成了大难题。手动导出不仅步骤繁琐,还容易丢失图片和文件。研究了一圈发现,用Python+Flask可以自己做个备份工具,而借助InsCode(快马)平台的AI辅助,开发效率直接拉满。分享下我的实现思路和踩坑经验。
一、核心功能设计
- 数据扫描模块:微信安卓版的数据通常存储在
/data/data/com.tencent.mm/MicroMsg目录下,需要root权限访问。电脑版路径更简单,但数据库文件同样采用SQLite加密存储。 - 解密与解析:微信的
EnMicroMsg.db数据库使用手机IMEI和UIN组合加密,通过逆向生成的32位MD5值作为密钥。这里用到了sqlcipher库来解密数据库。 - 内容分类展示:解析后的数据按
msgType字段区分文字(1)、图片(3)、文件(49)等类型,结合createTime和talker字段实现按时间和联系人筛选。 - 导出功能:
- HTML导出采用Jinja2模板生成带时间轴的网页
- PDF转换使用
pdfkit调用wkhtmltopdf - 云同步通过各家云盘的API实现(如七牛云的对象存储)
- 附加功能:
- 用
pyzipper实现AES加密压缩包 - 通过Flask-SocketIO实时推送备份进度
- 断点续传依赖记录已处理文件的MD5值
二、关键实现步骤
- 环境准备:
- 安装Python3.8+和依赖库:
pip install flask sqlcipher3 pyzipper pdfkit - 下载wkhtmltopdf并加入系统PATH
-
申请云存储API密钥(如使用)
-
数据库处理:
- 从手机备份获取
EnMicroMsg.db和systemInfo.cfg(含UIN) - 计算密钥:
md5(IMEI + UIN)[:7] + "0000000000000000" -
使用
sqlcipher命令行或Python绑定解密数据库 -
Web界面开发:
- Flask路由设计:
/scan(扫描目录)、/preview(预览记录)、/export(触发导出) - 前端用Bootstrap5构建,通过jQuery Ajax获取实时进度
-
聊天气泡样式参考微信原生UI
-
性能优化:
- 大文件分片处理避免内存溢出
- 使用
msgSvrId作为断点续传标记 - 图片缩略图生成减少传输量
三、实际踩坑记录
- 加密密钥获取:新版本微信改用
uin字段加密,需要从CompatibleInfo.cfg读取。安卓11以上系统需要Shizuku辅助获取真实目录。 - 特殊消息处理:撤回消息(类型10002)、红包转账(类型436207665)需要特殊解析逻辑。
- 跨平台问题:Windows和Mac的微信存储路径差异较大,建议通过注册表或配置文件动态获取。
- 云同步限制:部分云盘API有频率限制,需加入指数退避重试机制。
四、快马平台的加速体验
在InsCode(快马)平台尝试重构项目时,发现几个惊喜功能: 1. 输入"微信备份工具 Flask"等描述,AI直接生成基础项目框架 2. 内置的Kimi模型能解释加密密钥生成算法 3. 调试时实时看到网页预览效果,比本地跑服务方便 4. 最关键的是一键部署能力——完成开发后点个按钮就能生成在线服务链接,不用自己折腾服务器配置。我的成品页面对外分享效果是这样的:

整个项目从零到上线只用了周末两天,其中AI辅助节约了大量查文档的时间。对于需要持续运行的Web类工具,这种免运维的部署方式确实省心,朋友通过我分享的链接就能直接备份他们的记录,不用再担心环境配置问题。
注意事项: - 处理他人微信数据需获得授权 - 敏感信息建议本地存储不要上传云端 - 加密压缩包的密码管理要谨慎
快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
开发一个微信聊天记录备份工具,核心功能包括:1. 扫描手机/电脑本地微信数据目录并解析.db文件 2. 按联系人/时间分类展示可备份内容(文字/图片/文件)3. 支持导出为HTML/PDF格式或同步至云盘 4. 提供加密压缩选项。要求使用Python+Flask构建Web界面,自动处理微信加密数据库,生成带时间轴的可视化聊天记录。需包含进度显示和断点续传功能。 - 点击'项目生成'按钮,等待项目生成完整后预览效果
518

被折叠的 条评论
为什么被折叠?



