ylytdeng and Claude Opus 4.6
b80e7d1c14
fix: 新群/新联系人自动刷新联系人缓存
...
检测到消息的用户名不在联系人缓存中时,自动重新加载
contact.db,解决新建群聊一直显示 chatroom ID 的问题。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-31 18:43:34 +08:00
ylytdeng and Claude Opus 4.6
396d4b24e2
fix: CLI 入口支持 V2(AES) 格式图片解密
...
decode_image.py 的 CLI 入口之前只走 XOR 解密路径,
V2 格式图片会直接报错退出。改为使用 decrypt_dat_file
智能入口,自动判断 V1/V2/XOR 格式。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 16:40:16 +08:00
ylytdeng and Claude Opus 4.6
944546beb1
fix: 统一所有 JSON 文件读写为 UTF-8 编码
...
Windows 中文环境默认编码为 GBK,未指定 encoding 会导致
config.json/all_keys.json 解析失败。修复 9 个文件共 17 处。
Closes #32
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 14:32:37 +08:00
ylytdeng and Claude Opus 4.6
7020409543
fix: full_decrypt 写入前自动创建输出目录
...
full_decrypt 打开 out_path 写入时未创建父目录,
首次运行 monitor_web 且 decrypted/ 不存在时会报
FileNotFoundError。
Fixes #22
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 17:21:11 +08:00
ylytdeng and Claude Opus 4.6
030680eb85
fix: 修复短时间大量消息丢失问题
...
旧逻辑用 `if ts == prev_ts: continue` 粗暴跳过上轮时间戳的所有消息,
但同一秒内可能有多条不同消息(如连续转发公众号文章),导致只显示
最后一条,其余丢失。
改为用 (username, timestamp, msg_type) 精确去重:
- 主消息和 hidden 消息显示后都记录到 _shown_keys
- 过滤时精确匹配已显示的消息,不再按时间戳整体跳过
- _shown_keys 每轮清理过期条目(保留 5 分钟),防止内存泄漏
Fixes #20
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 19:52:46 +08:00
ylytdeng
a5a347f69e
Merge PR #18 : feat: Linux 数据库解密支持
...
- 新增 find_all_keys_linux.py (通过 /proc/pid/mem 扫描密钥)
- 新增 key_utils.py (跨平台路径兼容)
- 新增 key_scan_common.py (公共扫描逻辑)
- 拆分 find_all_keys.py 为平台分发入口
- 所有下游模块统一使用 get_key_info() 查找密钥
Fixes #12 (部分: Linux 支持)
Co-authored-by: PeanutSplash <b1300658700@outlook.com >
2026-03-07 21:35:37 +08:00
ylytdeng and bbingz
5879b58239
Merge PR #15 : feat: macOS 图片密钥扫描器 + 批量解密器 (C)
...
新增 find_image_key.c 和 decrypt_images.c,
通过 Mach VM API + CommonCrypto 实现 macOS 图片解密。
Co-authored-by: bbingz
2026-03-07 21:35:08 +08:00
ylytdeng and Claude Opus 4.6
2b03a81a8f
fix: 统一路径分隔符为正斜杠,修复 macOS/Linux 兼容性
...
all_keys.json 中的 key 统一使用 `/` 作为路径分隔符,
消除 Windows 反斜杠硬编码,确保跨平台兼容。
涉及文件: find_all_keys.py, decrypt_db.py, monitor.py,
monitor_web.py, mcp_server.py, decode_image.py, latency_test.py
Fixes #17
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 00:53:48 +08:00
ylytdeng and Claude Opus 4.6
3b4b811cc3
fix: 清理调试代码 + 提升服务稳定性
...
- 移除 _debug_log、signal handler、atexit 等调试代码
- 添加 allow_reuse_address 防止重启端口占用
- warmup 线程加外层异常捕获防止静默崩溃
- 恢复启动自动打开浏览器
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 20:41:36 +08:00
ylytdeng and Claude Opus 4.6
73598751a0
fix: MCP DBCache 使用固定文件名 + 持久化缓存,重启秒恢复
...
- 缓存文件改用 md5(rel_key) 固定命名,放在 Temp/wechat_mcp_cache/
- mtime 映射持久化到 _mtimes.json,重启后验证一致直接复用
- 避免 mkstemp 随机文件名导致崩溃后临时文件堆积
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 15:10:25 +08:00
ylytdeng and Claude Opus 4.6
121fa9f7bd
feat: 自动检测WeChat路径 + 通知过滤规则
...
- config.py: 自动从 %APPDATA% ini 读取数据盘符,扫描 xwechat_files
找到 db_storage 路径,多账号时交互选择,首次运行免手动配置
- monitor_web.py: 右侧设置面板支持自定义通知规则(群名/发送人模糊
匹配),命中时触发浏览器通知 + 蜂鸣声 + 金色高亮,规则存 localStorage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 22:58:30 +08:00
ylytdeng and Claude Opus 4.6
c85367ff08
feat: 富媒体内容解析、表情包显示、组合消息修复
...
- 表情包内联显示: emoticon.db CDN映射 + 下载缓存
- 富媒体内容: 链接卡片/文件/视频号/小程序/引用/位置等完整渲染
- 修复文字+图片组合消息丢失 (前端去重key加消息类型)
- 新增隐藏消息检测: 异步查message DB找回同秒内其他消息
- MonitorDBCache线程安全: per-key锁防并发解密损坏
- Web UI优化: 气泡样式/群聊发送者/图片点击放大
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 11:55:11 +08:00
ylytdeng and Claude Opus 4.6
24ae180669
Update README with image decryption docs and V2 format details
...
Add usage instructions for image key extraction, file descriptions
for new modules, and technical details of the three .dat encryption
formats (old XOR, V1, V2).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 00:40:25 +08:00
ylytdeng and Claude Opus 4.6
da7525db95
Add image decryption and inline preview for WeChat V2 format
...
Support all three .dat encryption formats:
- Old XOR format: single-byte XOR, auto-detect key from magic bytes
- V1 format: AES-ECB with fixed key (md5("0")[:16]) + XOR tail
- V2 format (2025-08+): AES-128-ECB + raw middle + XOR tail
New files:
- decode_image.py: unified image decryption module (XOR/V1/V2)
- find_image_key.py: extract AES key from WeChat process memory
- find_image_key_monitor.py: continuous monitoring version for key capture
monitor_web.py changes:
- Inline image preview in Web UI with async decryption
- MonitorDBCache for mtime-based DB decryption caching
- username-to-DB mapping for image resolution chain
- /img/ endpoint for serving decoded images
- SSE image_update events for real-time preview updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 00:30:01 +08:00
ylytdeng
05b8ba4d45
Add MCP usage examples with redacted real outputs
2026-02-28 16:58:46 +08:00