【个人开发】通过SQLite获取微信聊天记录 |
您所在的位置:网站首页 › micromsgdb文件查看器 › 【个人开发】通过SQLite获取微信聊天记录 |
1. 背景
本想初始化mac,但是看到微信所占内存很大,想必都是聊天记录吧。从几年前一直想提取微信聊天记录,但整不出来,再试一次。 2. 写在前面之前都知道微信聊天记录备份的数据在本地的db文件里,但是一直访问不了db文件,今天拜读了简书上大佬的文章,有点醍醐灌顶,原因是db文件的访问需要密钥。再一次尝试,竟然成了。 先上效果: 1、电脑:Mac 2、微信db文件路径:~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/ 说明:该文件夹下有一些类似于365e4ad4v3fede5b5df0b30e1b083bc1d的文件夹,每个微信对应一个文件夹。消息位于文件夹下面的Message子文件夹。msg_0.db就是我们的微信聊天记录。 因为db文件进行了加密,所以之前访问一直没能访问到。 3.1.1 确保电脑 SIP 的开启状态1、终端输入下面命令。 csrutil status结果如下。如果为enable,则需要关闭。如果为disable则跳过此步骤。 3、检查,如下则说明没问题。 步骤如下: 打开电脑端微信(不要登陆)在Terminal输入命令lldb -p $(pgrep WeChat)输入br set -n sqlite3_key,回车输入c,回车手机扫码登陆电脑端微信这时候电脑端微信是会卡在登陆界面的,不需要担心,回到Terminal输入memory read --size 1 --format x --count 32 $rsi,回车就可以获取到了密钥中间可能需要一些确认,让你输入「y/n」之类,按照理解输入即可。最后输出结果为: 0x6000003624e0: 0x54 0x60 0x97 0x05 0xb5 0x09 0x43 0x9f 0x6000003624e2: 0x94 0xe8 0x38 0x09 0xdc 0x5e 0x79 0x53 0x6000003624f0: 0x94 0xe8 0x38 0x09 0xdc 0x5e 0x79 0x53 0x6000003624f8: 0x9a 0xa6 0x97 0x05 0xb5 0x09 0x43 0x9f忽略左边的地址( 0x6000003624e0: ,0x6000003624e2:),从左到右,从上到下,把形如 0xab 0xcd 的数据拼起来,然后去掉所有的 "0x"和空格、换行, 得到 64 个字符的字符串,这就是微信数据库的 key。 比如:上述的结果为:54609705b509439f94e83809dc5e795394e83809dc5e79539aa69705b509439f 3.1.3 访问数据1、目前使用的是DB Browser for SQLite,下载地址如下:DB Browser For SQLite 2、打开软件,链接db文件。这里两个点需要注意: a、选择原始密钥 b、选择SQLCipher 3默认 c、填入密码,需要先手动输入0x,再将我们上面的54609705b509439f94e83809dc5e795394e83809dc5e79539aa69705b509439f复制进去。 否则,粘贴不了。 以上,over,感谢两位大佬的文章。获益匪浅,后面关于python的尝试,下次再搞。 参考文章: 关于微信数据库的解密以及取证 Python - 获取微信聊天记录 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |