编者按:手机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登陆密码。有情况的骚年,看好自己的手机哟……