【安卓逆向】Hook赛车向前冲

通过编写xposed模块破解内购,原包内的代码没有做任何修改,声明!!!!不要纠结为什么不直接修改smali,本教程只是作为一个案例。

有需要学习安卓逆向的朋友可以加群:692903341

这次我们来学习一波新的hook大法

首先我们知道,所有的类都是通过ClassLoader的loadClass方法加载的。我们只需要Hook loadClass方法,就能得到所有的类(除非该方法被重写),记住这点很重要,为什么要这样做呢,对于某些应用,要hook的类明明存在,但是会出现出现异常

ClassNotFoundError,是因为应用在加载dex是还没有加载我们的目标类,所以就会出现这个错误,这次的案例就是这样的。我们先hook loadClass方法,然后通过判断继续hook我们的目标函数,这个就是我们这次的主要思路,好,开始分析。

1.先安装我们的游戏,购买看看效果
点击购买,发现这里直接显示,支付失败
在这里插入图片描述
在这里插入图片描述

2.好了,把apk丢进AndroidKiller,这个游戏很容易破解,不多说,这次主要讲解怎么写这个模块。我们很容易找到,关键点
在这里插入图片描述

3.在这个类下有一个onResult方法,这个就是关键函数了,查看Java伪代码(jadx-gui反编译)
在这里插入图片描述
4.这里可以看到它是内部类,所以我们hook的时候是用的smali所对应的类,也即.class Lcn/egame/terminal/paysdk/EgamePayJD$2$1$1;

当resultCode的值等于1的时候,就会执行成功的逻辑,我们hook onResult函数,拦截让它始终为1

Hook方法如下:

在这里插入图片描述

最后如下图所示,就成功了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/YJJYXM/article/details/102546169