Commit Graph
319 Commits
Author SHA1 Message Date
2977094657 09a3e7d4ac fix(chat-search): 将会话列表外聊天纳入搜索索引
构建聊天搜索索引时,合并 SessionTable、contact/stranger 与消息库 Name2Id 中存在消息表的联系人或群聊。

这样左侧会话列表中不存在、但数据库里仍有消息记录的聊天也可以被全局搜索命中。

提升搜索索引 schema 版本,触发旧索引自动重建,并补充默认搜索过滤下的回归测试。
2026-06-10 19:03:54 +08:00
2977094657 0f295d81de fix(chat-export): 补充导出会话列表外的有消息聊天
批量导出全部、群聊、单聊时,不再只依赖 SessionTable。

导出目标会补充 contact/stranger 与消息库 Name2Id 中存在消息表的联系人或群聊,避免微信不显示会话从左侧列表消失后漏导。

同时新增自定义范围,保留当前会话列表手动勾选导出的语义,并补充对应回归测试。
2026-06-10 19:03:23 +08:00
2977094657 8273d6f445 chore(release): bump version to 1.8.1 v1.8.1 2026-05-21 01:20:26 +08:00
2977094657 95b1a643e0 test(sns-media): 补充朋友圈图片缓存优先回归测试
- 覆盖本地缓存命中时不调用远程下载

- 覆盖本地缓存未命中时再回退到远程解密
2026-05-21 01:12:16 +08:00
2977094657 e76c5d7dfb fix(sns-media): 恢复朋友圈图片本地缓存优先
- /api/sns/media 先解析微信本地 cache/*/Sns/Img 与封面缓存,本地未命中后才走 WeFlow 远程下载解密

- 前端朋友圈图片请求重新携带 post_id、media_id、create_time、尺寸、md5 等本地匹配参数

- 朋友圈离线导出同步改为本地缓存优先,避免导出时优先触发网络请求
2026-05-21 01:11:52 +08:00
2977094657 9089e7cfc4 chore(release): bump version to 1.8.0 v1.8.0 2026-04-29 17:26:33 +08:00
2977094657 26c8f78d5b fix(wcdb): 传给 native 的 wxid 与 db_storage 解析对齐 WeFlow
- 调用 wcdb_set_my_wxid 前去掉导出目录名的 4 位随机后缀(如 Murderers_0e5d -> Murderers),否则 native 会话/消息查询可能只返回极少结果。

- media_helpers 的 db_storage 路径解析改用 WeFlow 的 resolveDbStoragePath 规则:直接子目录、wxid 子目录、带后缀的 wxid 目录、向上回查、有限深度递归兜底,保证用户选到任意层级都能正确定位。

- 连接日志额外打印 native_wxid,便于排查匹配错位问题。
2026-04-29 17:25:46 +08:00
2977094657 a83f9b774c improvement(chat): 单个消息库损坏时跳过并记录诊断而非整体失败
- /chat/messages 与会话最近消息构建在遇到 sqlite3.DatabaseError 时不再让整个接口 500,改为捕获诊断、记录 warning 日志后继续尝试其他 message_*.db。

- session_last_message 返回新增 skippedDbs 字段,方便排查遗漏库。
2026-04-29 17:24:52 +08:00
2977094657 8d2dda61d8 fix(decrypt): 非首页 HMAC 异常时保留页面避免后续页整体错位
- 微信 4.x 大库在 1GiB 边界会出现单页 HMAC 不匹配但页本身仍可解密的情况,原先直接丢弃页会让后续页号整体错位,最终导致 SQLite 必然损坏。改为:HMAC 不匹配时照常解密保留,AES 失败用零页占位,保证页号对齐。

- 解密管线全程增加诊断采样:源文件读取前后快照、输入 layout、key 模式、HMAC/AES 异常页 SHA256 与 HMAC 变体匹配,便于后续定位疑难库。

- 解密 SSE 流将 hmac_warning_pages / hmac_warning_samples 透出到前端并参与诊断告警判断,避免警告被静默吞掉。

- 新增回归测试覆盖非首页 HMAC 单字节翻转场景。
2026-04-29 17:24:40 +08:00
2977094657 dea3cdf06b 优化视频和图片显示速度 2026-04-29 14:53:06 +08:00
2977094657andGitHub 090d981648 Merge pull request #54 from H3CoF6/main
尝试修护两个hook的bug
2026-04-29 02:15:06 +08:00
H3CoF6 5a2b9076c4 fix(wx_key): 删掉时间排序获取主pid的逻辑,强制使用更稳定的最短命令行方案 2026-04-29 01:55:59 +08:00
H3CoF6 1ac7cd4cc1 chore: update wcdb 2026-04-29 01:55:18 +08:00
H3CoF6 6367f9e0a9 chore: 更新资源文件 2026-04-29 01:25:04 +08:00
H3CoF6 61457212a6 fix(detection): 优化获取微信pid的方法,保证获取到的是主进程!! 2026-04-29 01:11:00 +08:00
2977094657andGitHub f85ae936b2 Merge pull request #52 from H3CoF6/main
feat(image): 增加可选的自动大图下载功能
2026-04-28 12:31:12 +08:00
H3CoF6 94c7a099d5 feat(image): 增加可选的自动大图下载功能 2026-04-28 05:54:31 +08:00
2977094657 e93423db42 fix(key): 修复数据库密钥模式识别逻辑
- 新增原始加密密钥与 SQLCipher passphrase 两种密钥模式自动识别
- 通过首页 HMAC 校验确认实际密钥模式,避免错误派生导致解密失败
- 解密输出时清理加密页尾部的 IV/HMAC 保留区
- 增加解密失败时的 key_mode、HMAC 与 SQLite 诊断信息
- 新增单测覆盖两种密钥模式的解密路径
- 更新 README 补充数据库解密兼容性说明
v1.7.21
2026-04-27 13:15:44 +08:00
2977094657 ad29c8b251 chore(release): bump version to 1.7.20 v1.7.20 2026-04-25 23:37:26 +08:00
2977094657 a1c8d3059c improvement(entry-ui): 优化首页检测与导入流程界面
- 重构首页布局,突出检测、导入、导出归档和聊天回看等常用入口
- 优化检测结果页的信息层级、加载态、手动路径选择和微信安装目录设置区域
- 优化导入页面布局,补充目录选择说明、导入流程提示、导入进度和完成态展示
- 统一入口页面的卡片、按钮、背景和响应式样式,提升操作引导清晰度
2026-04-25 23:37:26 +08:00
2977094657 2f8af245ea feat(export): 支持账号归档 ZIP 导出
- 新增账号归档导出后端接口,支持创建、查询、取消导出任务和下载 ZIP 文件
- 支持按账号打包数据库、元信息文件和资源文件,并使用 ZIP 存储模式提升大文件归档速度
- 前端接入账号归档导出 API,支持导出目录选择、导出内容勾选、进度轮询和取消导出
- 简化全局导出弹窗,将入口聚焦为数据库与资源文件归档导出
- 开启侧边栏导出入口,并补充 README 中的导出说明
2026-04-25 23:37:26 +08:00
2977094657andGitHub efdc74a948 Simplify acknowledgments section in README
Removed detailed descriptions of referenced projects in the acknowledgments section.
2026-04-25 13:33:27 +08:00
2977094657 2c1157747f improvement(export-ui): 新增批量导出弹窗并预留侧边栏入口
- 新增 GlobalExportDialog 组件,统一配置聊天记录、朋友圈和联系人导出

- 在侧边栏预留批量导出入口

- 当前入口默认隐藏,便于后续继续联调和逐步放开
v1.7.13
2026-04-24 18:04:32 +08:00
2977094657 751c252e88 improvement(import): 支持 wxdump 目录导入并增加导入保护
- 兼容 wxdump 的 output 目录、database/ 和 media/ 结构

- 缺少 account.json 时自动推断账号信息并补充导入预览

- 导入前展示目标账号状态,并拦截源目录与目标目录重叠的情况

- 支持取消导入、已有账号自动备份,以及失败/取消后的回滚恢复

- 补充资源查找兼容逻辑,适配 wxdump 导入后的媒体文件布局
2026-04-24 18:04:21 +08:00
2977094657 8c0eeca4ed chore(release): bump version to 1.7.12 v1.7.12 2026-04-23 21:46:20 +08:00
2977094657 f5fbc0469a improvement(sns-ui): 合并朋友圈导出主操作并精简任务区
- 将开始导出与取消导出收敛为同一主操作按钮

- 精简任务状态区,仅保留导出完成后的保存操作

- 减少重复按钮与状态噪音,统一导出面板交互
2026-04-23 21:33:01 +08:00
2977094657 49da1173b4 improvement(entry-ui): 优化检测与导入首屏流程
- 重构检测结果页布局,补充版本/账号/数据库统计与更清晰的加载态

- 首页移除直接解密入口,/import 页面隐藏侧边栏,统一首屏使用路径

- 导入页优化预览、错误和重试体验,并补充 SSE 连接清理逻辑
2026-04-23 21:32:46 +08:00
2977094657 0987167c4a fix(key): 支持手动指定微信安装目录并校验 db key 来源
- /api/get_keys 支持传入 wechat_install_path,兼容安装目录与 Weixin.exe / WeChat.exe

- 解密完成后保存 db key 的来源路径与别名,避免历史密钥被错误账号复用

- 解密页按 account + db_storage_path 回填已保存密钥,并补充相关测试覆盖
2026-04-23 21:32:02 +08:00
2977094657 ec2a84af18 improvement(sns): 优化朋友圈导出 2026-04-23 14:51:58 +08:00
2977094657 e86cfb42e5 improvement(sns-ui): 优化朋友圈导出面板与保存体验
- 新增 HTML/JSON/TXT 导出格式切换
- 支持选择导出目录并自动保存导出包
- 增加总进度和当前联系人进度展示
v1.7.11
2026-04-20 15:24:26 +08:00
2977094657 6bed048948 improvement(sns-export): 支持朋友圈多格式离线导出
- 新增 html/json/txt 导出格式参数
- 为导出结果补充 index 与 manifest 信息
- 补充总动态数和当前联系人进度字段
2026-04-20 15:24:26 +08:00
2977094657 e0e50143c9 improvement(desktop-output): 补充 output 目录迁移进度反馈并完善切换体验
- 将 output 目录迁移改为 worker 异步执行,并补充扫描、复制、校验、回滚阶段进度
- 设置页增加迁移进度展示,支持恢复进行中的状态并展示当前文件/传输体积
- 迁移完成后自动清理旧备份目录,并同步源码/桌面端版本号到 v1.7.10
v1.7.10
2026-04-16 21:19:04 +08:00
2977094657 7870cd54fc improvement(sns): 精简朋友圈媒体链路并移除手动挑图入口
- 移除 Server-Timing/X-SNS 阶段透出与前端媒体来源标记
- 移除本地候选图与手动匹配接口及预览交互
- /api/sns/media 默认仅保留远程下载解密路径,未命中直接返回 404
- 将导出所需的本地缓存匹配逻辑下沉到 sns_export_service
v1.7.9
2026-04-16 01:19:09 +08:00
2977094657 94a8b124c3 improvement(sns-media): 内置 WeFlow WASM 资源并切换朋友圈图片解密实现
- 内置 wasm_video_decode 资源并纳入打包
- Node helper 优先使用包内 weflow_wasm 目录
- 朋友圈图片远程解密改为走 WeFlow WxIsaac64 全量 XOR
- 补充对应测试并更新纯 Python fallback 说明
2026-04-16 01:18:27 +08:00
2977094657 3b34e786f1 improvement(chat-export): 优化导出取消响应并补充保存进度反馈
- 导出弹层展示实际生成位置、浏览器目录保存进度和取消中状态\n- 导出服务补充取消检查、链路追踪与实时同步暂停恢复\n- 预建媒体索引并减少 emoji 空查找开销,补充相关测试
v1.7.8
2026-04-15 01:27:55 +08:00
2977094657 23932bf89c feat(media): 新增表情批量下载步骤并支持并发配置
- 解密页新增表情下载步骤,支持开始/停止、进度展示和结果统计\n- 图片解密与表情下载接口支持并发配置,补充 SSE 进度与结果信息\n- 增加表情目录聚合、缓存校验与媒体下载相关测试
2026-04-15 01:26:44 +08:00
2977094657 1fc937ed7c perf(chat-api): 补充聊天接口追踪并异步化图片读取
- 新增后端 perf trace 工具,覆盖会话、消息、头像和图片接口
- 将图片路径探测、候选收集、解密读取与缓存写入移入线程,减少阻塞
- 补充缓存命中与候选选择追踪,并为图片接口增加 prefer_live
v1.7.7
2026-04-14 00:21:02 +08:00
2977094657 a1c99c8704 improvement(log): 补充聊天消息与会话加载阶段日志
- 为会话加载、刷新和联系人初始化补充阶段性 trace
- 为消息加载、归一化、状态提交和媒体刷新补充耗时日志
- 便于定位聊天页卡顿和加载异常
2026-04-14 00:20:36 +08:00
2977094657 7458762b2b perf(chat-ui): 聊天媒体懒加载并补充资源加载埋点
- 为消息图片、视频缩略图、头像和引用缩略图接入懒加载
- 新增聊天媒体性能采集插件与通用 perf logger
- 优化媒体占位并补充前端资源加载耗时埋点
2026-04-14 00:20:03 +08:00
2977094657 839949a544 improvement(log): 补充图片密钥与媒体解密链路调试日志
- 为解密页关键阶段补充调试日志
- 为图片密钥获取流程补充请求、命中和回退日志
- 为媒体密钥保存与批量解密补充有效密钥日志
- 对 AES 信息做摘要输出,便于排查且避免完整泄露
v1.7.6
2026-04-13 18:11:25 +08:00
2977094657 f5c3fed181 fix(key): 支持通过 db_storage_path 精确获取当前账号图片密钥
- 前端获取图片密钥时补充透传 db_storage_path / wxid_dir
- 后端支持通过 db_storage_path 反推出目标 wxid_dir
- 本地图片密钥匹配改为账号精确匹配,避免子串误命中
- 切换账号时重置并重新预填密钥,避免跨账号串用旧密钥
- 增加单测,覆盖精确匹配和未完成数据库解密时的远程获取场景
2026-04-13 18:10:53 +08:00
2977094657andGitHub c4334daf59 Merge pull request #45 from H3CoF6/main
修复图片密钥匹配问题
2026-04-13 04:11:50 +08:00
H3CoF6 0711750491 fix(key): 修复单/多账号图片密钥的匹配问题 2026-04-13 03:24:19 +08:00
2977094657 15fa6072e3 feat: 添加媒体解密进度取消功能,优化检测逻辑 2026-04-12 19:44:17 +08:00
2977094657 68b11261cc Merge remote-tracking branch 'origin/main' v1.7.5 2026-04-12 15:56:12 +08:00
2977094657 64e8cf6718 fix(chat): 补充视频号消息 objectId 和 objectNonceId 字段透传
补充 Finder/视频号类型 app message 的 objectId、objectNonceId 解析

在聊天消息接口、搜索结果和导出链路中透传上述字段

前端消息归一化增加 objectId、objectNonceId 字段

新增对应测试,覆盖 type=51 场景
2026-04-12 15:51:00 +08:00
2977094657 52ef2b8ded fix(realtime): 修复前后端分离运行时实时模式校验失败
前后端分离运行时补齐 WCDB sidecar 自动启动链路

在缺少 sidecar 环境变量时自动探测并拉起本地 Electron sidecar
初始化失败时回退到进程内 WCDB 路径,避免直接中断实时模式
服务关闭时回收自动启动的 sidecar 进程,减少残留进程
2026-04-12 15:26:40 +08:00
2977094657andGitHub ed6ed1eead Merge pull request #43 from H3CoF6/feat/import
更新密钥获取方案
2026-04-12 12:21:25 +08:00
H3CoF6 f598289939 feat: 更稳定的密钥获取
- 不再维护偏移量/特征码
- 不再hook图片密钥
2026-04-12 03:49:48 +08:00
H3CoF6 1a67d37fa3 chore: update wx_key.pyd 2026-04-12 03:23:55 +08:00