作为一个安卓逆向小白,在学习完正己大佬的视频后决定练习下,瞄准了媳妇手机里面的一个冷门APP:XX烛,古诗词鉴赏的,部分功能需要会员才能阅读。
工具:雷电模拟器,NP管理器,jadx
APP:XX烛,6.7.2(最新版本)
逆向分析
1、NP管理器提取安装包
image.png (77.6 KB, 下载次数: 0)
下载附件
2024-3-11 01:16 上传
2、APP提前进入后,查看付费文章需要登录,同时需要高级会员,jadx直接打开gpk搜索关键字“会员”或者“高级会员”,进入后分析代码可知判断当前用户会员逻辑主要为三处,主要是a1.c(AVUser.getCurrentUser()),AVUser.getCurrentUser().getBoolean("lifetimeMembership"),a1.b(AVUser.getCurrentUser())
image.png (86.61 KB, 下载次数: 0)
下载附件
会员搜索
2024-3-11 00:51 上传
image.png (50.15 KB, 下载次数: 0)
下载附件
三个关键函数
2024-3-11 00:52 上传
3、由于涉及到函数调用,不在第二步逻辑直接修改会员判断,其余地方也可能引用a1.c和a1.b的会员判断逻辑,深入这2个函数进行分析
image.png (12.27 KB, 下载次数: 0)
下载附件
a1.c
2024-3-11 00:53 上传
image.png (12.25 KB, 下载次数: 0)
下载附件
a1.b
2024-3-11 00:53 上传
4、NP定位安装包,编辑DEX文件,搜索关键字premiumMembership和membership,然后修改smali代码,直接返回为1(true),最后返回保存,重新安装APK
image.png (117.86 KB, 下载次数: 0)
下载附件
premiumMembership
2024-3-11 00:56 上传
image.png (118.83 KB, 下载次数: 0)
下载附件
membership
2024-3-11 00:57 上传
5、登录账号发现已经显示是高级会员,但是阅读付费文章领取书籍时,提示“只有高级会员才能领取”,jadx搜索弹出提示关键字未搜到结果,那就搜索按钮关键字“领取书籍”,接着搜资源名称“receive_book”,发现点击事件监听
image.png (30.45 KB, 下载次数: 0)
下载附件
2024-3-11 00:57 上传
image.png (51.19 KB, 下载次数: 0)
下载附件
2024-3-11 00:58 上传
6、深入分析发现是领取书籍逻辑可能走了网络请求,包括还有回到函数c(),回调函数中如果调用没有异常调用函数v()提示领取成功,否则抛出异常,因此修改此处回调函数逻辑
image.png (16.89 KB, 下载次数: 0)
下载附件
2024-3-11 00:58 上传
image.png (23.25 KB, 下载次数: 1)
下载附件
2024-3-11 01:00 上传
7、搜索关键字“BookBuyBaseAct”,找到子类c,删除判断条件,直接提示领取成功,重新打包安装;后续章节正常阅读,VIP破解基本完毕。
image.png (73.12 KB, 下载次数: 0)
下载附件
2024-3-11 01:01 上传
image.png (141.85 KB, 下载次数: 0)
下载附件
2024-3-11 01:02 上传
image.png (175.97 KB, 下载次数: 0)
下载附件
2024-3-11 01:06 上传
image.png (73.71 KB, 下载次数: 1)
下载附件
2024-3-11 01:06 上传
插曲
1、软件有时候会弹出以下框,模拟器模拟的是oppo手机系统,HMS core应该是华为才有这个问题才对,接着撸起袖子干;查找到弹出框关键函数a(Activity activity),搜索关键字“upgradeDlgContent”,删除判断条件,直接返回1(true)不再弹窗
image.png (38.81 KB, 下载次数: 0)
下载附件
2024-3-11 01:04 上传
image.png (59.36 KB, 下载次数: 0)
下载附件
2024-3-11 01:04 上传
2、重新打包安装还是弹出,接着分析另外一处代码,发现有弹出框内容,直接删除最后函数的调用屏蔽弹窗
image.png (25.23 KB, 下载次数: 0)
下载附件
2024-3-11 01:05 上传
3、然而还是没有屏蔽掉,hms core组件安装应该是应用支持华为账号一键登录导致的,后续再深入研究下不登录的场景下解锁vip会员文章
后记
安卓逆向知识博大精深,向各位大佬不断学习,持续进步。