首页
社区
课程
招聘
#Android某钉数据库的解密分析
2024-4-17 15:51 2103

#Android某钉数据库的解密分析

2024-4-17 15:51
2103

声明

1
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

目的

1
解密app数据库,用数据库软件打开查看信息内容

入手分析

1
通过对国内一些聊天记录信息存储的研究,现在基本都是SQLIte3或者带加密功能SQLCipher库,还是某信的wxdb库基于SQLCipher或者SQLIte3。

分析过程

1
1:有了以上的基础,可以在jadx或者jeb工具搜索相关数据库,通过分析用”SQLiteDatabase“搜到相关的

图片描述
在类"com.alibaba.sqlcrypto.sqlite.SQLiteDatabase"跟踪到需要的方法
”openOrCreateDatabase“,通过分析openOrCreateDatabase方法最终会走到
类SQLiteConnection的open方法,在open方法中调用了native方法nativeOpen;通过用对注册方法进行hook RegisterNatives方法发现在database_sqlcrypto文件中注册对应的方法。
图片描述

2:通过以上分析database_sqlcrypto就有可能对数据库加密解密的操作的文件,用ida打开搜到相关的sqlite或者sqlcipher相关的内容,在库里面能发现数据库的一些痕迹。具体可以在参考一些文档:
https://blog.yllhwa.com/2023/09/29/Android%20QQ%20NT%20%E7%89%88%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A7%A3%E5%AF%86/
https://bbs.kanxue.com/thread-266370.htm
在这个so文件中,能发现
sqlite3_log(21LL, "%s at line %d of [%.10s]", "misuse", 84914LL, "bbd85d235f7037c6a033a9690534391ffeacecc8");这样的log,这个"bbd85d235f7037c6a033a9690534391ffeacecc8"标签是sqlcipher 4.5.1版本标签,推测某钉就是基于这版本修改。你可以下载对应版本源码参看来看这个so文件。

3:通过上面不断的分析,发现某钉的解密稍微跟某q,微稍微有点不一样,对数据的解密算法它单独拎出来了,在分析过程中发现有取现象,加解密函数名字没有抹掉,难道故意放水?发现aes_encrypt_key128,aes_decrypt_key128,aes_encrypt,aes_decrypt函数,对这些进行hook或下断点。在对aes_decrypt分析发现就是aes算法,算法分析对应aes 128,196,256加密的方式,就是128字节对应4*4矩阵加密,具体怎么操作自己baidu,发现加密方式采用了128,也就是10轮计算,
图片描述
从图上可以看出就是v4是怎么生成的,不要弯子了密钥生成时用过aes_decrypt_key128函数生成,是根据传入的32字节的前面16字节生成轮密钥。至于加密过程应该应该差不多(有兴趣可以研究下)。dump出来轮密钥也能看出来十轮
图片描述

4:现在就是算法还原了
图片描述
贴了关键部分

5:现在还有一个问题就是java参数是怎么生成的,具体是过程就省了,自己往回跟踪就可以搞定,具体放在xml文件com.alibaba.android.rimet_preferences字段dt_bee_db_phone_*下面的值进行md5得到得到32位值
图片描述

具体解密效果如下
图片描述

尾声

1
2
是看到Android版本解密没有对应分析,就弄下贴,方便大家交流!!!!
                    不太喜欢写东西,凑合看吧

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞1
打赏
分享
最新回复 (3)
雪    币: 575
活跃值: (640)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_fidppcok 2024-4-17 18:13
2
0
跟大佬学习下
雪    币: 19624
活跃值: (29291)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2024-4-18 09:02
3
1
感谢分享
雪    币: 47
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gsxlm 6天前
4
0

麻烦楼主帮忙看看这个,这个是加密后又在文件头加东西了吗,怎么记事本打开还有明文?谢谢

上传的附件:
游客
登录 | 注册 方可回帖
返回