
一个把 Mac 微信本地数据库解密成私人查询库的 Skill;本地处理不等于没有隐私风险。
「这是什么」一句话定性
把你有权处理的 Mac 微信本地记录,变成可以用 CLI 搜索、统计和导出的资料库。像给聊天记录做一个本机档案柜,钥匙和明文副本都需要自己管好。
这是早期名称 wechat-local-vault 的研究笔记。2026-10-13 核查时,同一作者的当前目录为 yichen-wechat-local-vault,不能把旧路径当成现在的安装位置。
仓库位置
| 项目 | 信息 |
|---|---|
| 仓库 | mcncarl/yichen-skills |
| 当前路径 | yichen-wechat-local-vault/ |
| 主路径 | Mac 微信 4.x,本机密钥获取、解密、查询 |
| 另一入口 | 实验性的 Windows 已解密离线快照查询,不负责 Windows 抓钥或解密 |
| 许可 | 个人学习与非商业使用许可,商业运营、客户交付及公开打包再分发另有授权要求 |
“公开源码”不等于可自由商用;第三方子模块还要看其保留的原许可。
关键文件
| 文件 | 作用 |
|---|---|
SKILL.md |
Agent 工作流与数据边界 |
scripts/extract_keys.py |
复用已有 key,或用 Frida 捕获本机派生材料 |
scripts/decrypt_all_dbs.py |
全量/增量生成明文库与 manifest |
scripts/vault_cli.py |
查询、统计、导出与摘要素材入口 |
scripts/export_chat.py |
指定联系人/会话导出 |
scripts/snapshot_reader.py |
Windows 静态明文快照后端 |
删去原稿固定“11 个库、19 个子命令”的口径:实际库随账号和分片而变,命令以当前解析器为准。
「它怎么转」逻辑全景图

├─ 触发层
│ ├─ 已有明文库 → 只查询所需会话与时间段
│ ├─ 明确要求全量/增量 → 生成或刷新明文副本
│ └─ 提供 Windows 明文快照 → 独立 snapshot 入口
├─ 核心层
│ 1. 优先复用已有 key;缺失时才考虑新抓取
│ 2. 抓取路线针对 ad-hoc 重签名微信副本 hook PBKDF2
│ 3. 用匹配 key 解密到独立 vault,增量跳过未变化的库
│ 4. CLI 查询或导出;digest-source 先生成摘要素材
├─ 输出层
│ ├─ 私密配置、密钥、明文库、manifest 与增量状态
│ └─ 会话报告、群聊素材与后续人工确认的摘要
└─ 卡点层
├─ 微信/系统版本、进程保护、签名与数据库布局均可能影响抓取
├─ 收藏/朋友圈操作是项目建议的触发方法,不保证一次拿齐 key
├─ 只读源数据库,不代表不写文件:解密、导出和状态更新都会落盘
└─ 明文库、抓钥日志与导出都需要纳入访问和留存管理
不能把 Frida attach 失败简单归因于 Gatekeeper。Gatekeeper、代码签名和进程调试保护不是同一层机制;重签名也不是平台授权或通用绕过保证。
尤其要看 extract_keys.py:默认终端输出会隐藏部分标识,但抓取日志会记录 password、salt、dk 等原始材料。“终端脱敏”不等于“日志无密钥”。
「怎么升级」三段位路线图
├─ 入门段(能用)
│ ├─ 先读 README、许可和本机配置,不改原微信
│ ├─ 用 list-dbs、match-only 检查现有条件
│ └─ 只挑一个已授权会话验收查询结果
├─ 进阶段(用好)
│ ├─ 明确设置摘要 --data-root,避开项目与同步目录
│ ├─ 抽样核对时间范围、消息数和图片是否真正可见
│ └─ 摘要完成再更新历史锚点,不把目录生成当成画像已完成
└─ 高手段(用活)
├─ 给 key、原始抓取日志、明文库、导出分别定权限和保留期
├─ schema 升级用合成数据回归,不提交真实聊天
└─ 接入模型前单独确认发送范围、服务商留存与对话参与者权益
当前 digest-source 解析器的默认归档位置可能在当前项目的 wechat/ 下,不能只依赖文档的“私密目录”建议。目录权限 700、文件权限 600 是控制访问的措施,不是磁盘加密,更挡不住同用户进程或误同步。
「能用在哪」场景迁移

场景 1:个人历史资料检索。 找回约定、链接、收藏记录,比让 Agent 一口气读整库更容易控制范围。聊天中还包含其他人的信息,拥有账号不自动授予对所有记录任意画像、分享或商业利用的权利。
场景 2:其他本地资料的查询工作流。 可借鉴“授权输入 → 独立副本 → 只读查询 → 最小导出”,但不能把它宣传成 QQ、钉钉、Telegram 等客户端的通用解锁模板。各应用的加密、密钥管理、格式及许可不同,需逐项核查。
部署判断: 本文建议先用已有明文库或合成样本研究。新抓钥涉及运行修改签名的客户端副本;账号风控概率、具体版本兼容性和法律适用性未验证。Windows 快照验证通过也只说明程序接受该结构,不证明数据来源授权或司法取证效力。
一句话灵魂
“把自己的聊天资料变成可查询副本,同时把钥匙、明文和出口管起来。” 真正值得借鉴的是数据分层,不是“偷偷开柜子”。
2026-10-13 资料核对说明: 本次实际读取官方 README、SKILL.md、CLI 源码、抓钥/解密脚本、Windows 快照契约及根许可证;这是资料与代码核对,不是微信抓钥、解密或真实账号实测。