1.用到的工具
-
算法助手
-
反射大师
-
xposed
-
夜神模拟器
2.解决apk检测模拟器
开始我用的是夜神模拟器的安卓7版本,发现打不开app,可能是对模拟器有检测,后面我换了安卓5版本。发现可以正常打开。(有时候降低安卓版本有奇效)。
3.对app进行抓包
我们在算法助手里面,打开防wifi检测,然后进行抓包。发现返回加密了。没办法,只能分析apk了。
4.脱360加固的壳
这里我们用xposed和反射大师对dump出dex。
-
打开工具
-
打开目标应用,单击一下界面中间的六角形,选择当前activity
-
然后点击写出dex的选项,长按可以写出对个dex文件
-
到/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等等。找了一下,发现密码。拿了试了一下。发现可以打开。这里用的是这个软件。
行了,今天就到这里了,这里就不贴成功的图了。