目录
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)