wcdb-key-tool - 微信4.1+数据库密钥提取(三平台)

wcdb-key-tool - 微信4.1+数据库密钥提取(三平台)


新版微信不再缓存明文key,老工具全失效;调试器断点抓passphrase+PBKDF2派生+HMAC校验,Linux/macOS/Windows真机验证

wcdb-key-tool 是微信数据库(WCDB / SQLCipher4)密钥提取工具,覆盖 Linux / macOS / Windows 三平台——重点是它解决了微信 4.1+ 的密钥提取:新版微信不再在内存缓存明文 raw key,所有基于内存模式扫描的老工具全部失效,这个项目用"调试器断点抓 passphrase + PBKDF2 派生"的新路线跑通了三个平台。

为什么 4.1+ 老工具全失效

微信 4.1+ 只在内存里保留一个 passphrase,真正的加密密钥要做一轮很慢的 PBKDF2(256,000 轮 HMAC-SHA512)才能算出来。本工具的三步:

  1. 拿原料:老版本直接内存扫描;新版本在登录瞬间用调试器断点抓 passphrase(Linux 走 ELF 静态分析+GDB、macOS 断系统函数 CCKeyDerivationPBKDF、Windows 只读扫描 Config.Cipher 运行时对象)
  2. 派生密钥:passphrase + 每个库自己的 salt → PBKDF2 → 32 字节 AES-256 密钥
  3. HMAC 校验防伪:派生出的密钥必须通过数据库第一页 HMAC 校验才算数——这是"有没有真的抓对"的唯一标准

特点

  • 三平台均已真机验证(macOS 18/18 通过)
  • 单文件零依赖:直接调系统加密库(Linux OpenSSL / macOS CommonCrypto / Windows CNG),不用 pip install 任何东西
  • 版本自适应:微信更新后大概率仍能工作(Linux 靠字符串交叉引用自动适配,macOS 断的是系统函数与微信版本无关)
  • 安全克制:只在密钥计算瞬间读一次内存/寄存器就 detach,不改微信行为、不碰网络通信,不会触发封号;passphrase 缓存在本地(权限 600)
  • 只用于提取自己设备上自己账号的密钥,不做采集、不做批量

用法

# Linux(需 gdb)
sudo python3 wcdb_key_tool.py extract --decrypt

# macOS(需先对微信重签名去 Hardened Runtime)
sudo python3 wcdb_key_tool_macos.py extract --decrypt

# Windows(自动新版 runtime 扫描,老版本回退内存扫描)
python3 wcdb_key_tool_windows.py extract --decrypt

首次提取需在微信里退出登录再重新登录一次(触发密钥重算),之后有缓存不用重复。

与 octohz 已有微信工具的分工

  • wx_key(p/1679):只支持 4.0 老版内存扫描,已停更归档
  • wechat-decrypt(p/1680):解密+实时监听,内存扫描路线
  • wx-cli(p/1678):查询/导出 CLI,依赖已有密钥
  • wcdb-key-tool:专攻 4.1+ 新版密钥提取,是上面这些工具在新版微信上的上游

项目数据

  • GitHub 622 Stars,MIT 协议
  • 致谢链:kkocdko(Linux GDB 断点原始思路)→ wxchat-export(ELF 静态分析)→ wechat-decrypt(内存扫描基础)→ 本项目整合三平台
47600举报0子龙•1个月前
点击获取 ^_^
被收录:

暂无评论