Skip to content

macOS WeChat 4.1.7: 图片AES密钥提取失败 — 198K候选全部无效 #23

@sunyan034-cmd

Description

@sunyan034-cmd

环境

  • macOS 15.5 (Apple Silicon M4 Pro)
  • WeChat 4.1.7 (ad-hoc signed)
  • V2 .dat 文件: 36,162 个

问题

在 macOS 上无法提取图片 AES 密钥。穷举了所有方法,均未成功。

已尝试的方法

方法1: find_image_key_macos.c (ASCII 16-char 扫描)

  • 编译运行,扫描 WeChat 进程 (PID varies)
  • 提取到 197,857 个 16字符 ASCII 字母数字候选
  • 用每个候选尝试解密最近的 V2 .dat 文件(5个大文件 96KB-431KB)
  • 验证: 严格检查 JPEG (JFIF/EXIF marker)、PNG (8字节签名)、GIF、WebP
  • 结果: 全部失败

方法2: find_image_key.c (16字节对齐二进制扫描)

  • Round 1 完成,找到约 87 个候选
  • 能产生 ff d8 ff 开头(通过 is_image_magic()),但 PIL Image.verify() 全部损坏
  • is_image_magic() 首块检查偶然命中,实际 key 不对

方法3: find_image_key.c --deep (字节级扫描)

  • 逐字节扫描,找到不对齐地址的候选
  • 同样全部未通过 PIL 验证

关键观察

  1. aes_size 始终为 1024
  2. 409 个不同的 CT block 0 pattern
  3. Pattern Just had a try #1 覆盖 12,918 个文件(35.7%)= 当前 session
  4. 数据库密钥提取完全正常
  5. 测试时正在查看图片(最新 .dat 修改时间 0 分钟前)

疑问

  1. find_image_key.c / find_image_key_macos.c 是否有在 macOS 上成功提取过图片 key?
  2. macOS 是否用了不同的 key 存储方式?(Security framework、Keychain、或非原始16字节形式)
  3. 是否有其他 macOS 用户成功解密过 V2 图片?

参考

感谢优秀项目!数据库解密和消息监控在 macOS 上完美运行 🎉

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions