其实早在半年以前就研究过手机QQ聊天记录的破解,只是当时研究了一半没什么进展就放下了,现在业务需要,同时又有一些资料,就再次研究了这个问题。要想拿到聊天记录的数据库,当然首先需要root,聊天记录的数据库就在/data/data/com.tencent.mobileqq/databases/{所登录的QQ号码}.db。
手机QQ不像微信那样直接加密数据库,而是对数据库里面的字段进行加密,我们如果直接打开QQ的数据库,看到的是这样的!因此需要对数据的内容进行解密,其中解密的KEY为手机的IMEI。解密的重要代码如下
//传入字符串,输出解密结果
public static String decrypt(String s) {
char[] imeiArr = IMEI.toCharArray();//手机IMEI
int imeiLen = imeiArr.length;
char[] enArr = s.toCharArray();
int enLen = enArr.length;
for (int i = 0; i < enLen; i++) {
enArr[i] = (char) (enArr[i] ^ imeiArr[i % imeiLen]);
}
return new String(enArr);
}
上图好友列表,解密之后的结果为:
聊天记录及群列表同理。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!