wechat decipher macos
1.0.0
该项目分为三个目录
macos/
包含 DTrace 脚本,用于在 macOS 上干扰WeChat.app。eavesdropper.d
实时打印对话。它有效地动态显示数据库事务。dbcracker.d
显示加密的 SQLite3 数据库及其凭据的位置。由于它只能在微信打开这些文件时捕获机密,因此您需要在脚本运行时执行登录。只需复制并粘贴脚本输出即可调用 SQLCipher 并提供相应的PRAGMA
。pcbakchat/
中你可以找到解析微信备份文件的脚本。gather.d
收集解密备份所需的几条信息。devel/
中驻留用于进一步逆向工程的实用程序。它们仅供黑客使用,预计该项目的最终用户不会使用它们。xlogger.d
打印日志消息到/Users/$USER/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/2.0b4.0.9/log/*.xlog
。我使这个脚本具有破坏性,以覆盖全局变量gs_level
。protobuf_config.py
描述了 protobuf-inspector 的备份文件使用的 protobuf 格式。__handlers__/
包含一些与frida-trace
一起使用的处理程序。init.js
包含frida-trace
的辅助函数。 由于dtrace(1)
已预安装在 macOS 上,因此运行脚本不需要任何依赖项。但是,如果您还没有这样做,您可能需要禁用 SIP。此外,您还需要 SQLCipher 来检查dbcracker.d
发现的数据库。
对于devel
中的某些脚本,您还需要 Frida 和(最好是越狱的)iOS 设备。
对于 DTrace 脚本,启动微信并运行
sudo $DECIPHER_SCRIPT -p $( pgrep -f ' ^/Applications/WeChat.app/Contents/MacOS/WeChat ' )
将$DECIPHER_SCRIPT
替换为macos/dbcracker.d
、 macos/eavesdropper.d
、 pcbakchat/gather.d
或devel/xlogger.d
。
pcbakchat/
里的东西有点复杂。有关更多详细信息,请参阅usage.md
但愿不会。大多数处理都是在 macOS 客户端上离线完成的,DTrace 的开销应该可以忽略不计,因此他们抓住你的机会很小。
这些脚本的制作涉及过多的猜测和一厢情愿的想法,但至少它可以在我的机器上运行:)
Device Type: MacBookPro14,1
System Version: Version 10.14.6 (Build 18G8022)
System Language: en
WeChat Version: [2021-04-02 17:49:14] v3.0.1.16 (17837) #36bbf5f7d2
WeChat Language: en
Historic Version: [2021-03-29 20:23:50] v3.0.0.16 (17816) #2a4801bee9
Network Status: Reachable via WiFi or Ethernet
Display: *(1440x900)/Retina