这次的例子是一个能模拟定位的沙箱App,其中我们使用这个功能是需要消费的而且有一个试用功能不过只能试用5次,本章会介绍怎么绕过和无限试用。由于法律问题以后的帖子除了笔者自己写的样本可能都不会贴出来了,所以我会尽可能的详细带大家一步步分析,(本文章偏入门,大佬勿喷)
frida配置
1.VS Code
2.安卓模拟器(觉得哪个好用就用哪个)笔者这里使用的是真机
3.frida配置(frida是配置在python的)笔者的Frida版本是14.2.14 Android版本11
分析工具
1.jadx-gui (反编译工具)
2.Charles(抓包工具)
(这期就差不多这么多工具)
分析过程
梦开始的地方
图片1.png (60.31 KB, 下载次数: 0)
下载附件
2023-12-5 20:09 上传
这里能看到我已经没有机会继续试用了,下面贴一张成功绕过的图
图片2.jpg (54.69 KB, 下载次数: 0)
下载附件
2023-12-5 20:09 上传
绕过之后功能都是正常使用的,OK,我们步入正题,拖入IDA 因为我们要做无限试用,所以直接搜试用,
图片3.jpg (71.38 KB, 下载次数: 0)
下载附件
2023-12-5 20:09 上传
搜索结果如图,我们点进去是能看到这是一个 对象下的一个静态方法返回的是一个字符串,那么好我们查看交叉引用,往回跟
是一个onclick方法,按钮点击事件,注意看到下面这张图我们会意识到这是一个被混淆了的App,但是这个OnClick方法里面又获取了我们刚才搜到的字符串,所以可以直接确定 这是一个我们点击试用后的那个按钮,看图解分析流程吧
图片4.jpg (25.92 KB, 下载次数: 0)
下载附件
2023-12-5 20:09 上传
图片5.png (67.53 KB, 下载次数: 0)
下载附件
2023-12-5 20:10 上传
图片6-1.png (9.57 KB, 下载次数: 0)
下载附件
2023-12-5 20:10 上传
图片6-2.jpg (89.05 KB, 下载次数: 0)
下载附件
2023-12-5 20:10 上传
图片7.png (28.26 KB, 下载次数: 0)
下载附件
2023-12-5 20:10 上传
图片8.png (55.96 KB, 下载次数: 0)
下载附件
2023-12-5 20:04 上传
图片9.png (58.78 KB, 下载次数: 0)
下载附件
2023-12-5 20:04 上传
图片10.png (75.67 KB, 下载次数: 0)
下载附件
2023-12-5 20:07 上传
图片11.png (60.42 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片12.png (13.64 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片13.png (121.09 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片8.png (55.96 KB, 下载次数: 0)
下载附件
2023-12-5 20:11 上传
图片9.png (58.78 KB, 下载次数: 0)
下载附件
2023-12-5 20:11 上传
图片10.png (75.67 KB, 下载次数: 0)
下载附件
2023-12-5 20:11 上传
图片14.jpg (35.88 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片14.png (83.32 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片15.png (104.78 KB, 下载次数: 0)
下载附件
2023-12-5 20:06 上传
图片16.png (76.9 KB, 下载次数: 0)
下载附件
2023-12-5 20:07 上传
那么好,分析到这里就结束了,最后我们选择的hook点是在获取Android_id的返回值做了随机化实现的无限试用,具体效果就是我们一开始的效果,而hook结果下图.
图片17.jpg (145.94 KB, 下载次数: 0)
下载附件
2023-12-5 20:07 上传
笔者有话说
这个样本是我一个朋友需要考驾照而刷学时需要定位到驾校需要消费一下,让我分析的,那实际上本来是想分析一些有难点的,比如ollvm,各种反调试+混淆这些,但是很无奈找不到样本,笔者也还要兼顾学习和找工作,真是mmp,总的来说后面的例子会越来越难。