某app数据库密码逆向

1.用到的工具

  1. 算法助手

  2. 反射大师

  3. xposed

  4. 夜神模拟器

2.解决apk检测模拟器

开始我用的是夜神模拟器的安卓7版本,发现打不开app,可能是对模拟器有检测,后面我换了安卓5版本。发现可以正常打开。(有时候降低安卓版本有奇效)。

3.对app进行抓包

我们在算法助手里面,打开防wifi检测,然后进行抓包。发现返回加密了。没办法,只能分析apk了。

4.脱360加固的壳

这里我们用xposed和反射大师对dump出dex。

  1. 打开工具

  2. 打开目标应用,单击一下界面中间的六角形,选择当前activity

  3. 然后点击写出dex的选项,长按可以写出对个dex文件

  4. 到/storage/emulated/0中查看dex文件(夜神模拟器)

(这个直接用的lx大佬书中的说明,具体的脱壳可以百度一下)

5.将dex拿到jadx里面分析

将从夜神模拟器拿到的四个dex打包为zip,拿到jadx里面分析。先全局搜索一下开始抓包得到的链接。用算法助手hook一下常用算法。找了一下,发现很多aes加密。大多了。找了几个看了一下,发现没有大多。感觉和aes加密有关。就在jadx里面找一下关键词key,iv,encrypt,decrypt等。找到aes加密代码,扣下载,在本地运行一下里面的decrypt函数代码。发现可以解密。解密出来是一个db链接。下载下来,看看能不能打开。发现加密了。sqlite数据库加密的话,一般可能用的sqlcipher这个开源项目进行加密。在jadx进行搜索了一下,发现是的

既然是个数据库,一般数据库都放在Data/data/PACKAGE-NAME/databases这个文件夹里面。里面找找。发现和一个和我下载下来数据库一样大小的db文件,看来就是这个了。

6.拿到数据库密码

开始我以为密码是动态变化的,后面发现不是,还抓包半天。还是关键词搜索,key,password,pwd等等。找了一下,发现密码。拿了试了一下。发现可以打开。这里用的是这个软件。

行了,今天就到这里了,这里就不贴成功的图了。

猜你喜欢

转载自blog.csdn.net/qq_59848320/article/details/126551315