目录
QQ和微信数据本地数据库,可以获取聊天信息以及好友信息等。
安卓手机QQ数据库:/data/data/com.tencent.qq/databases/QQ号.db(手机root后可获取 RE浏览器);
数据库文件为sqlite数据库;
私聊天记录放在表:mr_friend_MD5(QQ号)_New
群聊天记录放在表:mr_troop_MD5(群号)_New
用sqlcipher.exe打开数据库发现一些信息乱码,经过加密。加密方法循环异或IMEI号。
解密demo:
# -*- coding: utf-8 -*- import sqlite3 IMEI="866536022175869" conn = sqlite3.connect("971774262.db") cursor = conn.execute("SELECT frienduin,selfuin,senderuin,msgdata from mr_troop_158C59D128304F55302B275E6427CA1E_New ") print "select database successfully"; print "群号\t\t己方QQ\t\t发送方QQ\t\t聊天内容" for row in cursor: a= row[0] #print a sbstr="" for i in range(0,len(a)): sbstr+=chr(ord(a[i])^ord(IMEI[i%15])) sbstr+="\t" a= row[1] for i in range(0,len(a)): sbstr+=chr(ord(a[i])^ord(IMEI[i%15])) sbstr+="\t" a= row[2] for i in range(0,len(a)): sbstr+=chr(ord(a[i])^ord(IMEI[i%15])) sbstr+="\t" a= row[3] for i in range(0,len(a)): sbstr+=chr(ord(a[i])^ord(IMEI[i%15])) print sbstr
微信
安卓微信数据库:/data/data/com.tencent.mm/MicroMsg EnMicroMsg.db (需要ROOT)
数据库整个加密,可以用sqlcipher.exe软件直接打开,也可以自己写代码。
数据库密码:拼接IMEI和uin,通过md5加密后,取前7位小写的字符串
uin获取:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml (需要ROOT)