Removed detailed descriptions of referenced projects in the acknowledgments section.
- 新增 GlobalExportDialog 组件,统一配置聊天记录、朋友圈和联系人导出 - 在侧边栏预留批量导出入口 - 当前入口默认隐藏,便于后续继续联调和逐步放开
- 兼容 wxdump 的 output 目录、database/ 和 media/ 结构 - 缺少 account.json 时自动推断账号信息并补充导入预览 - 导入前展示目标账号状态,并拦截源目录与目标目录重叠的情况 - 支持取消导入、已有账号自动备份,以及失败/取消后的回滚恢复 - 补充资源查找兼容逻辑,适配 wxdump 导入后的媒体文件布局
- 将开始导出与取消导出收敛为同一主操作按钮 - 精简任务状态区,仅保留导出完成后的保存操作 - 减少重复按钮与状态噪音,统一导出面板交互
- 重构检测结果页布局,补充版本/账号/数据库统计与更清晰的加载态 - 首页移除直接解密入口,/import 页面隐藏侧边栏,统一首屏使用路径 - 导入页优化预览、错误和重试体验,并补充 SSE 连接清理逻辑
- /api/get_keys 支持传入 wechat_install_path,兼容安装目录与 Weixin.exe / WeChat.exe - 解密完成后保存 db key 的来源路径与别名,避免历史密钥被错误账号复用 - 解密页按 account + db_storage_path 回填已保存密钥,并补充相关测试覆盖
- 新增 HTML/JSON/TXT 导出格式切换 - 支持选择导出目录并自动保存导出包 - 增加总进度和当前联系人进度展示
- 新增 html/json/txt 导出格式参数 - 为导出结果补充 index 与 manifest 信息 - 补充总动态数和当前联系人进度字段
- 将 output 目录迁移改为 worker 异步执行,并补充扫描、复制、校验、回滚阶段进度 - 设置页增加迁移进度展示,支持恢复进行中的状态并展示当前文件/传输体积 - 迁移完成后自动清理旧备份目录,并同步源码/桌面端版本号到 v1.7.10
- 移除 Server-Timing/X-SNS 阶段透出与前端媒体来源标记 - 移除本地候选图与手动匹配接口及预览交互 - /api/sns/media 默认仅保留远程下载解密路径,未命中直接返回 404 - 将导出所需的本地缓存匹配逻辑下沉到 sns_export_service
- 内置 wasm_video_decode 资源并纳入打包 - Node helper 优先使用包内 weflow_wasm 目录 - 朋友圈图片远程解密改为走 WeFlow WxIsaac64 全量 XOR - 补充对应测试并更新纯 Python fallback 说明
- 导出弹层展示实际生成位置、浏览器目录保存进度和取消中状态\n- 导出服务补充取消检查、链路追踪与实时同步暂停恢复\n- 预建媒体索引并减少 emoji 空查找开销,补充相关测试
- 解密页新增表情下载步骤,支持开始/停止、进度展示和结果统计\n- 图片解密与表情下载接口支持并发配置,补充 SSE 进度与结果信息\n- 增加表情目录聚合、缓存校验与媒体下载相关测试
- 新增后端 perf trace 工具,覆盖会话、消息、头像和图片接口 - 将图片路径探测、候选收集、解密读取与缓存写入移入线程,减少阻塞 - 补充缓存命中与候选选择追踪,并为图片接口增加 prefer_live
- 为会话加载、刷新和联系人初始化补充阶段性 trace - 为消息加载、归一化、状态提交和媒体刷新补充耗时日志 - 便于定位聊天页卡顿和加载异常
- 为消息图片、视频缩略图、头像和引用缩略图接入懒加载 - 新增聊天媒体性能采集插件与通用 perf logger - 优化媒体占位并补充前端资源加载耗时埋点
- 为解密页关键阶段补充调试日志 - 为图片密钥获取流程补充请求、命中和回退日志 - 为媒体密钥保存与批量解密补充有效密钥日志 - 对 AES 信息做摘要输出,便于排查且避免完整泄露
- 前端获取图片密钥时补充透传 db_storage_path / wxid_dir - 后端支持通过 db_storage_path 反推出目标 wxid_dir - 本地图片密钥匹配改为账号精确匹配,避免子串误命中 - 切换账号时重置并重新预填密钥,避免跨账号串用旧密钥 - 增加单测,覆盖精确匹配和未完成数据库解密时的远程获取场景
修复图片密钥匹配问题
补充 Finder/视频号类型 app message 的 objectId、objectNonceId 解析 在聊天消息接口、搜索结果和导出链路中透传上述字段 前端消息归一化增加 objectId、objectNonceId 字段 新增对应测试,覆盖 type=51 场景
前后端分离运行时补齐 WCDB sidecar 自动启动链路 在缺少 sidecar 环境变量时自动探测并拉起本地 Electron sidecar 初始化失败时回退到进程内 WCDB 路径,避免直接中断实时模式 服务关闭时回收自动启动的 sidecar 进程,减少残留进程
更新密钥获取方案
- 不再维护偏移量/特征码 - 不再hook图片密钥
- 新增可用 SQLite 校验,解密失败时返回更明确提示并清理无效输出 - 统一过滤 key_info、FTS 索引库和内部缓存库,修正数据库扫描与账号统计 - 补充解密流和数据库过滤相关测试
- 桌面端启动时自动拉起 WCDB sidecar,并向后端注入连接参数 - 打包附带 sidecar 脚本与 koffi 运行时 - 改为通过项目内置 WeFlow DLL 处理 realtime 调用,规避宿主校验失败和连接超时
导入解密数据库
Co-authored-by: Codex <noreply@openai.com>
- 优先使用更高质量的微信图片资源并回写本地缓存 - 图片接口返回 no-store,避免浏览器继续命中旧缓存 - 页面恢复前台时刷新当前会话媒体资源,并补充相关测试
- 支持在桌面端查看、选择和恢复默认 output 目录 - 安装器记录待应用目录,并在应用启动时自动迁移数据 - 后端支持 output 目录覆盖,补充桌面端与后端相关测试
服务号实时同步改为直接读取 live biz_message 库,避免 gh_* 会话走空的 wcdb_get_messages。 将同步结果写回 output/databases 解密库,并补充异常降级路径。 修复桌面端日志处理与 wcdb_api.dll 的运行时定位问题。
服务号页接入实时模式变更监听。 支持 only_official 与 backfill_limit 参数透传。 切换服务号时直接重载本地消息,避免重复触发整页全量同步。
统一页面容器的高度计算方式。 为列表底部补充留白,修复滚动到底部时最后一项显示不完整的问题。
粗略解析微信支付记录,独立展示公众号服务号消息