mengxinb 发表于 2024-7-27 01:14

小熊录屏2.4.7.1hook会员思路

软件:小熊录屏2.4.7.1(我是直接百度搜的安装包下载)
工具:雷电模拟器,jadx,frIDA,
实现方法:hook相关代码
app主页:

1.打开app,不管三七二十一先上isvip大法,当我看到@SerializedName("isVip")(通常与 Gson 或 Jackson 等库一起使用,用于 JSON 的序列化和反序列化)这个的时候,我就不想去分析了;其它的也差不多


2.经观察,app每次点击vip功能后都会跳到开通vip界面,说明每次点击肯定有东西调用开通界面,老办法adb shell dumpsys activity | findstr "mResumedActivity"获取当前界面信息


3.找到DomesticVIPActivity所在位置,并查看是谁调用了它


4.沃尼马,29个,好多都是.this,除去几个不像的,再除去.this的,就只剩.b1最像了;其实DomesticVIPActivity本来就是个类,如果要使用它一般都是调用它里面的方法,而其中一些方法就是开通界面;直接双击跟进


5.仔细观察,可以看到l方法中对oz0.c(context)的返回值进行判断,如果为真则调用DomesticVIPActivity.b1;我们直接hook它,看看这是不是就是调用了开通vip界面


6.编写js代码进行hook;分别点击去水印和主页中的会员功能后,发现正好就是调用了l方法,并且看b参数可以发现它是从哪里点击会员功能后调用开通会员界面


7.查看oz0.c(context)中的c方法,爽了,看到布尔,综合前面,当c方法返回真时则调用开通vip界面,那么我们只要hook它让它永远返回假,那么不就可以了嘛


8.编写js代码进行hook,可以看到,成功用上了会员功能,但是不太美观


9.编写代码用spawn模式(重新运行软件hook)hook,Ok啊兄弟们,也是一整个干净整洁


感谢支持,希望大家一起交流学习

mengxinb 发表于 2024-7-28 22:42

Yifan2007 发表于 2024-7-28 22:17
我鸭儿,这public是什么语言,这个hook到底是咋操作的,就是修改伪代码?

这是将app用jadx反编译成java语言,hook就是截取app要调用的东西,然后修改里面的东西,通俗点就是软件运行时要调用函数来判断,但是你直接将那个函数抢过来修改后再还给它

mengxinb 发表于 2024-7-28 23:05

Yifan2007 发表于 2024-7-28 22:50
还是我想复杂了,那断点一般是啥意思,干啥用的,大佬求解惑压

断点应该是动态调试的时候下断点吧 让app运行时在下断点的地方停下来 方便后续调试我的理解是这样的 其实我也是萌新{:301_1008:}

18298019703 发表于 2024-7-28 18:34

有点东西啊 大哥

mengxinb 发表于 2024-7-28 18:46

18298019703 发表于 2024-7-28 18:34
有点东西啊 大哥

萌新 还在学习中{:301_978:}

Yifan2007 发表于 2024-7-28 22:17

本帖最后由 Yifan2007 于 2024-7-28 22:23 编辑

我鸭儿,这public是什么语言,这个hook到底是咋操作的,就是修改伪代码?

Yifan2007 发表于 2024-7-28 22:50

mengxinb 发表于 2024-7-28 22:42
这是将app用jadx反编译成java语言,hook就是截取app要调用的东西,然后修改里面的东西,通俗点就是软件运 ...

{:301_1009:}还是我想复杂了,那断点一般是啥意思,干啥用的,大佬求解惑压

dglbh 发表于 2024-7-28 23:18

不熟悉工具,有个视频 教学就好了!!!!!!!!!!!!!!!!!!!!

mengxinb 发表于 2024-7-28 23:28

dglbh 发表于 2024-7-28 23:18
不熟悉工具,有个视频 教学就好了!!!!!!!!!!!!!!!!!!!!

工欲善其事,必先利其器 学会一个工具还是非常重要的{:301_1000:}

WilsonZtw 发表于 2024-7-29 13:41

运用到的工具能打包一份么 蟹蟹
页: [1] 2
查看完整版本: 小熊录屏2.4.7.1hook会员思路