编者按:手机QQ的聊天记录,提取已经不是什么难题了。当前市面上很多取证软件都可以做到。小编想从底层的角度,向大家展示一下,鹅长对聊天记录是怎么加密的。这又是一个苦逼的手工活……


(相关资料图)

一、手机QQ的聊天记录内容保存在哪里?

以安装安卓系统的手机为例,手机QQ的聊天记录数据库保存在“
/data/data/com.tencent.mobileqq /databases/”这个文件夹下,文件名为:QQ号码.db。如果有多个号码登陆的话,会有多个QQ.db。

QQ号码.db的路径

当然,访问这个路径的前提是获得root权限。

获取手机Root权限才能提取到这个目录下的文件

二、如何打开“QQ号码.db”文件?

毫无新意,这个db是一个sqlite小型数据库文件。更让人意外的是,这个db没有采用任何入口加密措施。换句话说,使用任何一款sqlite查看工具都可以直接打开它。

三、聊天记录是哪一张表?

这个db文件内容是比较多的,小编只针对保存聊天记录内容的表做攻关。大家如果感兴趣,可以逐个研究一下,肯定会有不少收获。

手机QQ用户与其他QQ号码聊天的记录分别保存在不同的数据表里,具体的表名非常直观:mr_friend_MD5(对方QQ号码)_New。

为什么要加“new”呢?应该是为了保持向下兼容(小编注)

打开这个表,大家可以看到有很多字段。其中,msgData保存了聊天记录的内容,senderuin保存了对方QQ号码,还有一些消息发送和接受时间方面的字段。遗憾的是,msgData、senderuin都是密文。怎么办?

加密后的“聊天记录内容”、“消息发送者QQ号码”

四、加解密方式

基于手机硬件处理效率的考虑,以及用户便利化的角度,鹅厂不可能采取高强度对聊天记录进行加密,这算是靠谱的专业判断。事实上,的确如此。

破解方法:

(1)聊天记录内容明文:D

(2)聊天记录内容密文:E

(3)手机IMEI(MEID):IMEI

(4)公式:E = D ^ IMEI。(^:按位异或算法)

具体的实现是这样的:

1、聊天记录采用UTF-8编码保存,以汉字为例,一个汉字占3个字节。

2、IMEI号码采用ASCII字符编码,每个字符占1个字节。

3、把聊天记录内容,按次序与IMEI字符做异或运算,得到密文。

4、有人会问了,IMEI只有15个字符,怎么办,没关系,可以循环进行。

小编做了确认,实测可行。附一小段代码供大家参考。

示例代码,实测有效

五、意外收获

经过上面的异或运算,不仅聊天记录内容得以破解,发送者的QQ号码、昵称等也按照同样的方法获得。

具体破解方法就不再重复了。

六、手机IMEI号码到哪里找?

使用*#06#能够获取手机的IMEI号,但在有些情况下(如多卡),可能会有多个硬件ID。具体QQ软件使用哪一个ID进行解密,最准确的方法是:从DENGTA_META.xml文件中查找。

DENGTA_META.xml的路径

文件中获取准确的IMEI(MEID)

七、水果机QQ聊天记录咋破解?

不用破解,明文。

八、总之一句话

破解手机QQ的聊天记录内容,不需要知道你的QQ登陆密码。有情况的骚年,看好自己的手机哟……

关键词: