首页
论坛
课程
招聘
某交友App欣赏限制逆向分析
2022-10-22 20:43 7002

某交友App欣赏限制逆向分析

2022-10-22 20:43
7002

目标是看一下欣赏按钮的限制怎么突破一下,不然每天仅能点几个欣赏。首先将apk拖入到jadx中,未发现有壳(能找到具体逻辑代码),但发现大量0oO混淆的混淆代码

根据字符串搜索(今日次数已用完,欣赏,follow,like等)找到了一个核心的代码,之前

但用Objection Hook一下这个类再点欣赏按钮发现这个类并没有被触发。也检查了jadx是否反混淆了类名,还是不行。

 

之后用了某大佬的EncryptStack插件打印了一下加密库调用的信息,从打印的堆栈信息中搜索关键词,找到了一些可能是欣赏按钮被点击的时候会调用的方法。

 

在jadx中搜索这个方法

发现反编译之后没有内容(我也不太清楚为啥)。感觉像是很重要的代码。
用Objection hook了一下这个方法之后发现点欣赏按钮会被调用,再用frida脚本打印了一下它的参数和返回值

结果为:(第三行为点击欣赏的结果,其他为跳过按钮的结果)

参数有eventv3感觉像是发送了某个事件。然后搜索了一下这个 match_admire 字符串。

发现只有两处调用了这个方法,第一个就是上面hook过的那个没有被调用,无效的类,所以点开第二个

 

然后用objection hook了一下看看是否被调用,发现点欣赏按钮的时候调用了它和它的一些重载方法,看了一眼它的重载方法,在重载方法中看到一些重要逻辑代码。


感觉这个应该就是欣赏限制的逻辑。
点开第一个条件

 

看到里面都是一些vip判断的信息,vip剩余时间之类的。应该是从接口返回的这个用户是否是vip之类的,提供给程序判断用户身份。那岂不是可以修改参数,伪装成vip,这样应该就可以无限点击欣赏了。

 

用frida hook这个方法,看参数和返回值

所以修改了一下参数vip剩余天数之类的

 

因为类型转化暂时不太熟悉,所以看一下这个参数实体类JsonData中有没有构造方法之类的,重新new一个JsonData。找到了其中有一个create方法参数是Object,以及其中调用的init方法会判断参数类型


之前hook看到的类型是JSONObject,原生的。所以构建了一个JSONObject在主动调用JsonData的create方法生成参数,再回传

 

果然替换过之后,绝大部分vip的功能都可以用了,个别的还有问题,别人看到你还是个普通用户。。

 

第一次分析app,完成后有点激动哈哈哈,记录一下过程。。。


看雪2022 KCTF 秋季赛 防守篇规则,征题截止日期11月12日!(iPhone 14等你拿!)

收藏
点赞2
打赏
分享
最新回复 (6)
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_undcejfq 活跃值 2022-10-28 10:39
2
0
赞,楼主有遇到过百度加固吗?frida附加不上去.想请教一下
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
An_S 活跃值 2022-10-28 11:06
3
0
学到了
雪    币: 46
活跃值: 活跃值 (121)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gwljt 活跃值 2022-11-24 23:09
4
0
需要挂着frida 才能去除 vip 限制吗?如何不使用 firda 搞呢
雪    币: 5205
活跃值: 活跃值 (5634)
能力值: ( LV17,RANK:787 )
在线值:
发帖
回帖
粉丝
无名侠 活跃值 12 2022-11-24 23:57
5
0
是我想的那种欣赏吗
雪    币: 102
活跃值: 活跃值 (2108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DirtyAngle 活跃值 2022-11-25 09:59
6
0
是我想的那种欣赏吗
雪    币: 229
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
二虫 活跃值 11小时前
7
0
大佬 样本能发吗?
游客
登录 | 注册 方可回帖
返回