支付宝破解三种方式:
想学一下支付宝内购的相关知识,但是搜索了论坛,发现但是没有相关的帖子,于是便是打算自己来写一篇总结
一、9000的十六进制代码修改
搜索9000的十六进制,也就是搜索0x2328
可以找到一个smali,里面含有着switch_0这代码
之后,我们进去就会看到一个switch结构的分支语句,将6001(对应着支付取消)的十六进制0x1771后面的switch修改为switch_0即可
相信大家也不用我多解释什么了吧
但是,经过我的测试,这方法只适用于在手机不安装支付宝的情况下,如果有支付宝的话,唤起支付宝破解就是不成功的,如何解决呢,请往下看
二、在手机安装有支付宝的情况下,让其不唤起支付宝,而是跳转到支付宝的网页界面
这种方法我尝试了很久,但是都是不成功,如果有路过的大神,希望能够补充一下,感激不尽!!
三、搜索“9000”,修改对应的逻辑
一般来说,各个APP中都会有一个方法来验证支付宝返回的状态码是否为9000(就是是否成功支付),所以我们可以找到这个方法,修改它的判断条件,从而实现破解
在搜索出来的结果中,一般会有多个,可以看下面的图片
可以从搜索到的那个地方往下看看,看看是否有paysuccess的方法调用,如果有我们就能确定这个文件就是我们要修改的
上上一张图片,我选中了一条代码,这一条代码就是实现支付成功跳转的重要判断,我们可以看一下cond_2的代码
可以发现,如果跳转到cond_2的话,就说明是跳过了支付成功执行的相关代码,那么我们将这一行判断删除就行了,它就会执行支付成功的代码了
这里需要提一下,每个的APP的判断机制会有所不同,上面这一个就是判断是否不等于9000,是的话则跳转到支付失败,还有一些就是判断是否等于9000,是的话跳转到支付成功,请注意这两个的区别,具体情况需要具体分析