大神论坛

找回密码
快速注册
查看: 110 | 回复: 0

[原创] 对西窗烛古诗词鉴赏APP逆向分析

主题

帖子

0

积分

初入江湖

UID
586
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-09-16 15:07
发表于 2024-03-12 21:47
本帖最后由 heyechuanmei 于 2024-03-12 21:47 编辑

前言



作为一个安卓逆向小白,在学习完大佬的视频后决定练习下,瞄准了媳妇手机里面的一个冷门APP:XX烛,古诗词鉴赏的,部分功能需要会员才能阅读。

工具:雷电模拟器,NP管理器,jadx
APP:XX烛,6.7.2(最新版本)

逆向分析



1、NP管理器提取安装包

2、APP提前进入后,查看付费文章需要登录,同时需要高级会员,jadx直接打开gpk搜索关键字“会员”或者“高级会员”,进入后分析代码可知判断当前用户会员逻辑主要为三处,主要是a1.c(AVUser.getCurrentUser()),AVUser.getCurrentUser().getBoolean("lifetimeMembership"),a1.b(AVUser.getCurrentUser())

3、由于涉及到函数调用,不在第二步逻辑直接修改会员判断,其余地方也可能引用a1.c和a1.b的会员判断逻辑,深入这2个函数进行分析

4、NP定位安装包,编辑DEX文件,搜索关键字premiumMembership和membership,然后修改smali代码,直接返回为1(true),最后返回保存,重新安装APK

5、登录账号发现已经显示是高级会员,但是阅读付费文章领取书籍时,提示“只有高级会员才能领取”,jadx搜索弹出提示关键字未搜到结果,那就搜索按钮关键字“领取书籍”,接着搜资源名称“receive_book”,发现点击事件监听

6、深入分析发现是领取书籍逻辑可能走了网络请求,包括还有回到函数c(),回调函数中如果调用没有异常调用函数v()提示领取成功,否则抛出异常,因此修改此处回调函数逻辑

7、搜索关键字“BookBuyBaseAct”,找到子类c,删除判断条件,直接提示领取成功,重新打包安装;后续章节正常阅读,VIP破解基本完毕。

插曲



1、软件有时候会弹出以下框,模拟器模拟的是oppo手机系统,HMS core应该是华为才有这个问题才对,接着撸起袖子干;查找到弹出框关键函数a(Activity activity),搜索关键字“upgradeDlgContent”,删除判断条件,直接返回1(true)不再弹窗

2、重新打包安装还是弹出,接着分析另外一处代码,发现有弹出框内容,直接删除最后函数的调用屏蔽弹窗

3、然而还是没有屏蔽掉,hms core组件安装应该是应用支持华为账号一键登录导致的,后续再深入研究下不登录的场景下解锁vip会员文章

后记



安卓逆向知识博大精深,向各位大佬不断学习,持续进步。


注:若转载请注明大神论坛来源(本贴地址)与作者信息。

返回顶部