2.6 KiB
2.6 KiB
M1A/Foundation + Database MVP 真机验收
日期:2026-09-04
主机:DESKTOP-EGI7QCK / Windows 10.0.19044.0
微信:Weixin.exe 4.1.8.29
状态:M1A 通过;M1 仍未完成。
Linux
- .NET SDK:
8.0.424 dotnet test tests/node-agent/WxAgent.Core.Tests -c Release:7/7 通过。dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true:0 warning / 0 error。- self-contained single-file
win-x64发布成功;产物约 182 MB,包含自提取 SQLCipher native library。
Windows
doctor:发现 4 个 Weixin 进程,版本均为 4.1.8.29;4/4 可用最小只读权限打开;发现 1 个账号数据库根目录。- SSH 在 Session 0 运行时正确报告
SessionLocked,不伪装为 UIA 成功。 inspect-ui:通过 InteractiveToken 任务在 Session 1 执行成功;导出 166 个节点。离线校验确认所有非空 Name 均为长度+短哈希,AutomationId 仅保留已知结构常量或长度+短哈希;未出现原始session_item_*后缀及明文“微信”/“发送”等名称。smoke:在 Session 1 执行成功,doctor无错误、6/6 关键控件命中,并再次导出 166 个脱敏节点。db scan --save:扫描 4 个进程,发现 17 个数据库,page 1 HMAC 验证 17/17;普通 CLI 输出不含完整密钥。- 密钥文件 ACL:继承关闭,仅
DESKTOP-EGI7QCK\Rogee拥有 FullControl。 db query:只读打开contact/contact.db,运行时报告 SQLCipher4.5.2 community、SQLite3.39.2,读取 26 个 schema 对象,写入探针被拒绝。- 首轮评审后补充验证:WCDB 长十六进制游程使用定长缓冲;不可读/跳过内存区不再拼接候选;密钥临时文件在写入任何密钥字节前即关闭继承并限制到当前用户;重复扫描会合并历史账号/数据库;发现、扫描和 UIA 路径均传播取消;CLI 拒绝未知、重复、缺值和非法超时参数。
- 验收结束后删除测试密钥文件;未生成解密数据库副本。
已知风险
SQLitePCLRaw.bundle_e_sqlcipher2.1.11 已弃用且内置 SQLite 3.39.2;它仅获准用于当前开发与真机验证。正式商业发布前必须完成许可/安全基线 gate;若不接受,应改用 Zetetic 官方 SQLCipher for .NET 并重新执行数据库验收。- 尚未实现 PID 打开文件句柄与账号根目录的关联,证据等级仅为
PageHmacVerified,不能表示账号当前 active。 - 正在写入的 WAL 数据库可能出现只读一致性/锁问题;本次元数据查询成功,暂不增加解密副本或快照逻辑。
- M1 尚缺文件传输助手打开、发送/读回、新消息发现和微信重启恢复。