前言
最近尝试着做 IM 聊天的开发,因为没有多少实际经验,只能摸索着来,找一些作为参考:
微信肯定是最具权威得了,但现在获取微信的一些信息也要费一点功夫的,例如聊天记录的数据存储。
Mac版微信获取方法
今天在网上先看下Mac版微信聊天记录的获取方法:
首先 Mac版微信聊天记录数据库并不难找,很容易就找到了,但是都是经过加密的,目录如下:
Macintosh HD ▸ 用户 ▸ 用户名称 ▸ 资源库 ▸ Containers ▸ com.tencent.xinWeChat ▸ Data ▸ Library ▸ Application Support ▸ com.tencent.xinWeChat ▸ 2.0b4.0.9 ▸ 86bef63f52ddf83be5e6c43765279994> Message
也可以通过命令查看:
ls -alh ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat///Message/*.db
macOS 微信的“备份与恢复”功能只能从手机微信导出到 Mac, 但是微信其实又在本地存了加密的 sqlite3 数据库; 本地数据库的是一系列 *.db 文件,如图:
image.png经过大神观察,微信存数据使用的是开源的 sqlcipher, 所以还是有办法导出微信在 Mac 本机的数据库的, 今天试了一下在 目前最新的系统 macOS Mojave 10.14.5 MAC 版微信 2.3.16 测试是 OK的;
操作步骤:(此方法依赖于 LLDB 调试)
- 打开 Mac 端微信,先不要登录。
- 打开终端,输入命令:
lldb -p $(pgrep WeChat)
后回车,查看 微信进程的相关信息,会进入 lldb 的子shell界面。
- 在 lldb 子shell中输入命令
br set -n sqlite3_key
回车。
- 然后输入 c 回车。
- 然后登陆Mac版微信,手机允许登录,这时微信会卡着,没关系,影响后面的操作。
- 接着,入命令
memory read --size 1 --format x --count 32 $rsi
回车,读取内存中 寄存器 rsi 存储的值。会输出类似如下最下面的数据:
操作步骤接下来就是要处理这里获取到的内容,去掉 : 之前的内存地址,把所有后面的两位字符拼接起来,再在前面加上Ox,我的方法是把这内容拷贝一下,地址手动删除,搜索 空格+0x 全部替换为空,然后拼接上就OK了。
如下的转换过程:
获取微信数据库加密 Key
0x6000024795c0: 0xf5 0x36 0x38 0xf3 0xf3 0xb4 0x40 0x43
0x6000024795c8: 0x8e 0xb7 0x84 0xef 0xd3 0x58 0xee 0xb8
0x6000024795d0: 0xb2 0xe3 0x65 0x2a 0xe6 0x88 0x4d 0xf2
0x6000024795d8: 0x9f 0x05 0xf9 0xa9 0x4f 0xf8 0xa2 0x88
结果:
0xf53638f3f3b440438eb784efd358eeb8b2e3652ae6884df29f05f9a94ff8a288
到这里基本上准备工作已经 OK了,接着就是安装软件了。
- 从 https://sqlitebrowser.org/ 下载Mac版本的 DB Browser for SQLite 并安装。
- 打开 DB Browser for SQLite ,在菜单栏选择 打开数据库 ,在弹出的对话框中选择一个保存Mac版微信聊天记录的数据库文件 *.db,然后在 SQLCipher加密 的界面中,将密码方式设为 Raw key,将 Encryption settings 选为 SQLCipher 3 defaults,在密码输入框中输入上上一步中得到的66位字符串,点击 OK 按钮。
如图:
image.png如果没有问题的话,你会看到这样的界面 :
image.png恭喜你成功的打开了微信本地的数据库,接下来你就可以随意查看或者导出数据库中的数据了。
附:
开始第一次并没有成功,原因是 Raw Key 合成错了,还以为是DB Browser for SQLite 软件的问题呢,又安装了 Homebrew,重新安装一遍软件发现还是不行,回过头才发现 key 错了,走了一点弯路,所以要细心。
参考文章:
https://blog.csdn.net/swinfans/article/details/88712593
iPhone微信导出数据库
参考文章:
亲测 OK,文章还有数据库的分析,可以参考学习一下。
网友评论