某图app逆向分析

查看 16|回复 0
作者:Arcticlyc   
某图app逆向分析
本次分析仅作学习参考,别无他用,侵权即删。
1. 前言
app可以通过查看之前的帖子了解,由于web端限制图片查看数量,而app上可以浏览全部图片,因此选择逆向分析app。
2. 分析过程
使用到的工具:Charles,jadx,python+frida,r0capture
2.1 抓取数据包
在抓包的过程中发现,使用fiddler、httpcanary等均无法成功抓包,使用trustme模块后也不行。经过分析并搜索后判断app使用了ssl双向验证,因此选择r0ysue的r0capture项目,成功导出p12证书。


屏幕截图 2023-03-26 230019.png (595.08 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传



屏幕截图 2023-03-26 225832.png (25.42 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

将证书导入Charles后,成功抓取到app的数据包。(此处有个疑惑:我将p12证书导入httpcanary后仍然无法抓取数据包,不知道是何原因,希望有大佬解惑。)


屏幕截图 2023-03-26 225915.png (46.14 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传



屏幕截图 2023-03-26 225931.png (48.38 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

很明显,我们抓取到的是加密后的数据,结合网站加密分析,看起来应该是aes或者des加密,下面分析数据的加密逻辑。
2.2 探究加密方法
app使用了数字加固,低版本安卓可以使用反射大师脱壳,也可以使用frida项目一键脱壳。


屏幕截图 2023-03-26 230342.png (62.67 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

将得到的dex文件在jadx中打开,经过多次分析后还是认为加密应该在signature内,但是无法找出具体的加密方法。分析过程中可以搜索上面抓到的一些参数(page,data等),搜索出来后可以使用frida进行hook,但是我在尝试多次后仍然没有找到。本来已经没有思路,但是突然想起web端加密中使用到fromhex,因此想到这里应该也要使用同样的方法,经过搜索果然发现了这个方法。


屏幕截图 2023-03-26 231048.png (110.14 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

那么接下来看看哪个地方调用了这个方法应该就可以,向上找成功找到了这个decrypt方法,hook这个方法后选择继续往上追溯。


屏幕截图 2023-03-26 231244.png (138.57 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

果然找到了这两个方法,其实最开始hook过第二个方法,但是没有结果就以为上面的方法也不是,结果事实证明上面的函数就是加密之处。


屏幕截图 2023-03-26 231448.png (148.71 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

同时在这个类中发现了一个md5方法,而hook出来的iv值是固定的,key值却一直在变化,返回的数据包中每次都有一个类似id的值,直接尝试对id取md5(其实经过了多次查找和分析),发现key值直接出来了。


屏幕截图 2023-03-26 232923.png (205.51 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

至此分析完毕,采用AES的CBC加密模式,传入一个变化的key和固定的iv值,解密获取数据。
3. 复现数据解密
使用python的requests-pkcs12库传入p12证书,并设置verify为False即可成功请求。具体解密代码可参考之前的web端加密。


屏幕截图 2023-03-26 232517.png (132.27 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传



屏幕截图 2023-03-26 232451.png (125.29 KB, 下载次数: 0)
下载附件
2023-3-26 23:45 上传

4. 总结
成功分析出加密方法后,感觉其实app的加密难度并不是很大,主要是中间走了一些弯路。在这次分析和之前对另一个app的分析中,frida起到了很大的帮助,在不修改原app的前提下,可以捕获内部的方法,同时还可以对加固应用脱壳,实用性非常大。总的来看分析过程简单,难度较小,不过经验应该值得借鉴。

下载次数, 截图

您需要登录后才可以回帖 登录 | 立即注册

返回顶部