qq数据库(qq数据库解密)
qq数据库(qq数据库解密)
最近看到网上有人专门针对如何破解qq、微信数据库,自己也想试试,于是就有了此文,主要讲下如何读取聊天信息, 前提是需要一部 root 过的手机。
概述:
微信数据库加密方式;
微信多账户数据读取;
微信好友消息以及群消息;
QQ 消息加密方式;
QQ 讨论组消息;
QQ 群消息;
QQ 多账户数据读取;
1.微信数据库加密方式:
微信数据库加密方式已经有高人研究过了,就不细说了,主要是:
String password = [1, 7]md5(imei + uin)
其中 imei 是手机的 IMEI 号, 在拨号界面输入 *#06# 即可看到,有手机有两个 IMEI 号,选择第一个 IMEI 号,关于双 IMEI 号如何读取,请自行 google,不用重复造轮子了;uin 是微信为每个用户分配的 id, 可以在如下路径找到
\data\data\com.tencent.mm\shared_prefs\auth_info_key_prefs.xml
其中具体的信息如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="key_auth_info_prefs_created" value="true" />
<int name="key_auth_update_version" value="637864511" />
<int name="_auth_uin" value="*********" />
......
</map>
2.微信多账户数据读取:_auth_uin 的值 value 即为 uin 值,在代码中可以通过解析 xml 来读取 uin 的值;然后将 imei 和 uin 相加计算 md5 的结果,取前 7 位的值即为密码。
当多个账户在同一个手机上使用时,就会存在多个账户的数据库文件,但是在 auth_info_key_prefs 中只有当前用户的 uin 的值,无法获取到历史的 uin 数据,不过仔细分析下数据库目录的父目录:
/data/data/com.tencent.mm/MicroMsg/c8201023c5887895fabf25da90b5fab8/EnMicroMsg.db
经验证,确实如此,知道了文件名的构成,可以逆推 uin 的值,只不过是个计算的问题。那么话说回来,只有逆推才能得出 uin 的值吗?逆推有些繁琐,那么有没有简单的方法得到登录过的所有的 uin 的值呢? 答案是肯定的,经过一番搜索,把每个目录都翻遍了,终于发现了app_brand_global_sp.xml.xml 文件,打开一看,大吃一惊,原来就是你,其中的具体信息如下:c8201023c5887895fabf25da90b5fab8 可以看出来是个 md5 值,这个已经有人研究过了。
文件名 = md5(mm + uin)
有了所有用户的 uin, imei 号也知道了,还有什么不知道呢,剩下的就是撸代码了。找的就是你,这个只是最新版微信测试的,之前的版本未测试。
3.微信好友消息及群消息读取:
既然密码知道了,那么就开始解密数据库了,工具 sqlcipher.exe,这个已经有前人编译好的,直接下载用,打开数据库,聊天消息尽收眼底。
3.1 好友消息与群消息的区别主要是 message 表中 talker 字段是否包括 @chatroom 字样:
3.2 好友,包括群聊昵称、id 在 rcontact 表中可以查到;
3.3 在 message 表中可以提取以下几个字段,基本上就可知道,聊天的内容了:
4.QQ消息加密方式
qq 数据库并没有全库加密,而是对每条消息进行加密, 加密的方式就是 uin 的 md5 值, uin 就是用户的 qq 号码,每个聊天都会对应一个表,表名命名规则:
mr_friend_New 好友聊天
mr_discussionuin_New 讨论组聊天
mr_troop_New 群聊
其中大部分字段都是加密的,需要对应的 uin 的 md5 来解密。每张表里面只需要提取以下字段就够了:
selfuin 本人的 uin | senderuin 发消息的 uin | msgtype 消息类型 | msgData 消息内容 | issend 是否为本人发送 | time 时间
5.QQ讨论组消息:
所有的讨论组信息都在 discussionInfo 表中,可以找到讨论组的 uin, 然后根据 uin 构造表名称,根据表名称去查对应的表信息
6.群消息;
所有群的相关信息都记录在 TroopInfo 中,而且在 TroopStatisticsInfo 中记录了群的总数,这样一来就可以构造出每个群聊的表名称,根据表名称去查找对应的表信息即可
7.多账户数据读取;
QQ 当前账户的号码存储在 \data\data\com.tencent.mobileqq\shared_prefs\Last_Login.xml 中:
<map>
<set name = "uin_set">
<string>-123847323</string>
<string>-923847323</string>
</set>
</map>
其中 uin 就是当前登录的 qq 号码
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)