幻冰の博客

一条咸鱼的垂死挣扎

[Android]提取微信聊天记录

写在前面

本文需要使用的工具

准备工作

  1. 在手机上打开 ES文件浏览器 或者 re浏览器
  2. 进入 /data/data 目录
  3. 将里面的 com.tencnet.mm 文件夹复制到SD卡上(有Android目录那里)
  4. 连接电脑,使用xx手机助手将文件夹复制到电脑的任意目录

获取必要信息

  1. 在手机拨号界面输入 *#06#
  2. 记录出现的 IMEI ,如果有多个 IMEI 则记录第一个
  3. 回到刚才提取的文件夹 打开 com.tencent.mm/shared_prefs 下的 system_config_prefs.xml 文件
  4. 记录 default_uin 的值(可能为负值)

(图1)

获取数据库密匙

  1. 打开网址 MD5 加密(传送门)
  2. 输入刚才记录的 IMEI 和 default_uin 的值,不需要用任何符号连接,点击 MD5 按钮

(图2)

得到的值的前七位就是数据库的密匙:ebb0254

(图3,此图来自网络,参考1

提取数据库

继续到提取的文件夹下的MicroMsg文件夹,你会看到一个或多个32位长的文件夹,哪一个才是我们要找的?

打开刚才的网址 MD5 加密(传送门) 计算mm+default_uin的 MD5 值,对应的即为我们要找的文件夹

(图4)

(图5)

得到聊天记录

打开文件夹,然后打开最开始下载的SQLCipher

将 EnMicroMsg.db 拖到SQLCipher的窗口上,输入密码

转到 Browse Data 选项卡,在 Table 下拉菜单中找到 message ,点击即可看到微信的聊天记录,包括好友、系统、公众号

(图6)

写在最后

关于 message 几个表头的含义

  • isSend:0表示接收的消息,1表示发送的消息
  • createTime:发送/接收时间(Unix时间戳) 可以在这个网址(传送门)转化为普通时间

(图7)

  • taker:可能是聊天对象的微信账号,若不是可以在名为 rcontact 的表中查找

Tips

  • ~SEMI_XML~的含义暂不明确
  • 无法查看到已撤回消息
  • 可以将记录导出为 CSV 文件在 Excel 中查看
  • 之后可能会出 iOS 的提取教程

参考

  1. How To Decrypt WeChat EnMicroMsg.db Database?
  2. 如何破解微信加密数据库EnMicroMsg.db读取聊天消息
  3. Android逆向之旅—静态方式破解微信获取聊天记录和通讯录信息
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 × 4 =