From 9418720f3e0c441eb94f4c96a70094833a4a9e6c Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Tue, 16 Jan 2024 17:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=AF=86MAC=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/解密MAC数据库.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 doc/解密MAC数据库.md diff --git a/doc/解密MAC数据库.md b/doc/解密MAC数据库.md new file mode 100644 index 0000000..6c48455 --- /dev/null +++ b/doc/解密MAC数据库.md @@ -0,0 +1,36 @@ +### 1.1 获取微信数据库密钥 + +1. 打开电脑端微信(不登陆) +2. 在Terminal输入命令`lldb -p $(pgrep WeChat)` (如果没有安装lldb,可以使用`brew install lldb`安装) +3. 输入`br set -n sqlite3_key`,回车 +4. 输入`c`,回车 +5. 手机扫码登陆电脑端微信 +6. 这时候电脑端微信是会卡在登陆界面的,不需要担心,回到Terminal +7. 输入`memory read --size 1 --format x --count 32 $rsi`,回车 +8. 将返回的原始key粘贴到下面的字符串中,用这段Python代码获得密钥 + +* 注:如果运行了lldb(第二步)之后出现error: attach failed: xxxxxxxxxxx +* 1、重启电脑 黑屏后 +* 2、按住 command + R 进入恢复模式,然后输入账户密码 +* 3、进入之后到上方点《实用工具》-〉点击〈终端〉之后输入 `csrutil disable` 然后 reboot 重启即可进行调试。 +* (csrutil 的开启是为了提供系统完整性保护 关闭了之后就能使用lldb对wechat进行调试。) + +```python +ori_key = """ +0x60000241e920: 0xc2 0xf9 0x13 0xbe 0xda 0xe8 0x45 0x82 +0x60000241e928: 0x93 0x94 0xsb 0xbf 0x61 0x86 0xd9 0xzf +0x60000241e930: 0xab 0xd3 0x0e 0xf0 0x39 0xcf 0x4c 0xba +0x60000241e938: 0x99 0x3a 0x01 0x05 0x2f 0xz5 0x2d 0xcd +""" + +key = '0x' + ''.join(i.partition(':')[2].replace('0x', '').replace(' ', '') for i in ori_key.split('\n')[1:5]) +print(key) +``` + +通过运行上面的程序可以得到一串微信数据库密钥如下: + +`0xc2f913bedae845829394sbbf6186d9zfabd30ef039cf4cba993a01052fz52dcd` + +### 1.2 获取微信数据库文件 + +解密方式同windows数据库 \ No newline at end of file