手机QQ聊天记录的db文件使用的sqlite数据库,一般库文件的名字是 {用户QQ号}.db
要拿到db文件,需要手机root或者手机支持应用备份,我使用的是小米手机,支持不用root直接备份app数据出来,这方面网上教程挺多的。
db文件本身没有加密,加密的是字段内容,加密方式一般使用的是手机IMEI值和要加密的字符值异或操作。
下面解决如果IMEI找不到了,在只有db文件情况下怎么推导加密用的IMEI值。
1、推导IMEI值
分析db文件内的Friens表,发现可以利用好友备注(remark)和拼音字段(mCompareSpell)之间的对应关系,推导出加密的IMEI值
mCompareSpell字段就是remark字段的拼音对应(如果remark为空会和name字段对应)
知道了对应关系,我们就可以使用数字0-9作为密钥去解密这两个字段值,取remark字段的拼音值对比解密后的mCompareSpell值,然后根据对比选出正确的数字值,依次循环直到找出所有的值即为要找的IMEI
写了个python脚本实现这一过程,操作环境:手机QQ v8.3导出db文件,win10,小米安卓手机
2、手工操作步骤
首先从第1位开始推导,从上图看