吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 5757|回复: 64
上一主题 下一主题

[调试逆向] 撬开MacQQ的本地SQLite数据库(适用于Msg3.0.db+)

  [复制链接]
跳转到指定楼层
楼主
maozhenyu 发表于 2020-12-23 15:44 回帖奖励
本帖最后由 maozhenyu 于 2021-1-12 13:39 编辑

*注意 本文不允许转载。如果发现,追究侵权责任
*** 已检测到的违规转载公示:
- www.y4f.net/329368.html(12251100z,请尽快删除)

网络上关于Mac微信数据库的相关话题非常多,各路大神讨论(转载)了自己的实操经验以及心得体会。
然鹅有微信,却没有看到QQ的。(果然是QQ已经过气了?)

首先回顾一下Mac微信的db,可以参考这篇文章https://cloud.tencent.com/developer/article/1561339。Mac微信的数据库使用SQLite3 + SQLCipher3,作者通过lldb断sqlite3_key函数的方式截取了数据库密码,再使用DB Browser for SQLite等支持SQLCipher的数据库管理工具,成功地打开了本地的数据库。

不错,那么同样的方法QQ上能不能用呢?
> 答案当然是不能,否则我还写这篇文章干嘛。

之前已经对MacQQ有比较深的了解,也用classdump等工具导出过所有header文件。可以证实MacQQ一样使用SQLite(有SqliteDatabaseHelper等class)。另外根据论文https://www.sciencedirect.com/sc ... i/S1742287619300210,Msg2.0是线上生成的key,应该可以猜测Msg3.0也是线上生成的(后来在反汇编的时候证实是)。

lldb 调试QQ


因为使用的是sqlite3,所以同样打sqlite3_key的断点,输入br set -n sqlite3_key

尝试登陆QQ

成功断在了Hummer库的sqlite3_key点上。
查看开源代码,sqlite3_key的定义是
[C++] 纯文本查看 复制代码
int sqlite3_key(sqlite3 *db, const void *pKey, int nKey);

第二个参数是key,第三个函数是key的大小。
分别查看

这个就是db的key,大小16字节。

BTW,最新版的QQ数据库在 ~/Library/Containers/com.tencent.qq/Data/Documents/contents/<你的QQ号>/ 目录下

兴冲冲地送进DB Browser for SQLite,结果吃闭门羹。穷举了所有可能的配置,都无法打开这个文件。

有这么几种可能:
(1)是SQLCipher,但pagesize、cipher_salt、kdf_iter、cipher_kdf_algorithm等关键参数不是默认值
(2)是改动过的SQLCipher
(3)加密算法根本不是SQLCipher

* 我个人的猜测是(1)或者(2),在后续反汇编的时候,看到大部分代码都和SQLCipher一致。
反正不管怎么说,用随手可见的工具是已经打不开了。

在断点的时候,我注意到sqlite3_key这个函数并不在QQ的binary本体里,而是在Hummer库内,那就有点方便了。
反正我的最终目的是解开这个数据库。与其去思考这些参数或者算法,找到一个合适的工具,还不如直接利用这个“弱点”,直接下手。

查看Hummer.framework的导出表,可以看到sqlite3有关的函数全部被导出了,非常好。


写一段小程序,链接Hummer.framework,同时将数据库密码置0(请勿直接在原始文件上操作。如果不慎操作了,颠倒代码重新加密。切勿打开QQ,否则会导致原先文件报废)。


运行,获得非常理想的全部OK结果。


成功打开Cache1.1.db。


要注意的是,QQ的每一个db的密码不一定全部相同。打开顺序是Cache1.1.db -> Msg3.0.db(QQ.db),以此截获即可。




1/11 UPDATE: 这楼里有一个张图墙内说看不了,已经更新了

免费评分

参与人数 31威望 +2 吾爱币 +130 热心值 +26 收起 理由
wh2510 + 1 用心讨论,共获提升!
靓仔胖哥 + 1 + 1 用心讨论,共获提升!
wuyaoguaiguai + 1 用心讨论,共获提升!
shyocean + 1 用心讨论,共获提升!
逗比大师 + 1 + 1 太强了
renwenh + 2 谢谢@Thanks!
康哥 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
G下属破解小分队 + 1 谢谢@Thanks!
Serendipity_Cn + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
klgd + 1 + 1 鼓励转贴优秀软件安全工具和文档!
ulysses115 + 1 + 1 热心回复!
skm415889471109 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
骜蛟 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fsmode + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
雁来廿四 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wangxiaohong888 + 1 + 1 热心回复!
许轲扬 + 1 + 1 用心讨论,共获提升!
lookerJ + 1 + 1 用心讨论,共获提升!
十二分惦记 + 1 + 1 我很赞同!
杨辣子 + 1 + 1 有wx的么
_小白 + 1 + 1 我很赞同!
5omggx + 1 + 1 用心讨论,共获提升!
SerLinux + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Deteriorator + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
draeag + 1 + 1 谢谢@Thanks!
小哲哲你来了 + 1 + 1 热心回复!
萋小磊 + 1 + 1 牛逼
happy888liu + 1 + 1 鼓励转贴优秀软件安全工具和文档!
puluter + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fengbolee + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
jsntkangkang 发表于 2020-12-23 16:09
首先点个赞,你真厉害。
然后告诉我,这个有啥用?
推荐
幼儿园小班 发表于 2020-12-23 16:46
jsntkangkang 发表于 2020-12-23 16:09
首先点个赞,你真厉害。
然后告诉我,这个有啥用?

研究学习的成果 不一定现在利马就能想到有什么用,但是如果你不会.哪永远都用不到.
推荐
Hmily 发表于 2021-1-5 15:37
www.y4f.net一直挂不同的代{过}{滤}理采集论坛帖子,非常不要脸,我把超级链接去掉了,防止大家误点。
推荐
 楼主| maozhenyu 发表于 2020-12-23 17:18 |楼主
jsntkangkang 发表于 2020-12-23 16:09
首先点个赞,你真厉害。
然后告诉我,这个有啥用?

备份合成分析聊天记录。不慎被封号之后导出好友数据。分析好友信息等等。
推荐
scry 发表于 2020-12-25 14:59
大佬厉害,不知道Windows的qq数据库也能用一样的思路吗
推荐
stuhkg 发表于 2020-12-24 18:26
大佬能研究下windows下面的吗
推荐
夏天爸爸 发表于 2020-12-24 10:12
可以下载看看!!

免费评分

参与人数 1吾爱币 -1 收起 理由
maozhenyu -1 灌水

查看全部评分

沙发
lixia2018 发表于 2020-12-23 16:03
嗯.... 看着你的成果还是有点小兴奋
5#
ht4266394 发表于 2020-12-23 17:01
大佬分析的好详细,还有点看不太懂
7#
mllaopang 发表于 2020-12-23 17:50

大佬分析的好详细,还有点看不太懂
8#
QingYi. 发表于 2020-12-23 18:13
学无止境 太强了
9#
xuanmo 发表于 2020-12-23 18:31
太强了吧
10#
侃遍天下无二人 发表于 2020-12-23 18:32
可以用于伪造假条
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2021-1-20 20:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表