Android破解学习之路(二)——Android游戏 滚动的天空破解
经过上一期的破解教程,相信大家跟我一样都是对破解是初入门,我们破解的目的是什么?
赚钱吗?百度上一大堆破解版的应用,破解的人有赚到钱吗?实实在在的说,其实也是方便自己而已。
玩个游戏,感觉过不去了,来个破解,无限金币什么的,通关轻轻松松是不?我们也在破解当中赚钱了不是?省去了买金币的钱
感觉废话说多了,正题开始
一、破解准备
之前大家都是下载好了Androidkiller,如果没有下,那么请前去我的上一篇http://www.cnblogs.com/kexing/p/8001065.html
这里,我把滚动的天空的下载地址放出来链接:
大家下载之后跟着教程走吧
二、破解开始
老样子,将下载好的apk丢进Androidkiller进行反编译,之后将支付失败转为Unicode进行搜索
可以看到,搜索结果有三个,看名字大概确定OppPay是支付的关键,进去看看
从图中,我们可以看到,一个onSuccess和onFailure方法,这两个应该就是支付成功和支付失败的方法了
三、破解思路
破解的思路来了,我们什么情况会进入到支付失败的这个方法呢?无非是点击了支付,APP弹出了支付界面,但之后我们又不想支付了,于是点击了取消,这时APP就会进入到onFailure方法当中
那么,方法就来了,我们将本来要执行的onFailure改为onSuccess,取消不就是相当于支付成功了吗
1.将onSuccess方法中的代码替换掉onFailure原来的代码
PS:这里提醒一下,.locals 开始全部都算是onFailure里面代码,上图选中的其实是onSuccess里面的代码,我已经替换了,之后保存,编译,测试
2.将原本调用onFailure方法改为onSuccess方法
我们可以去找到调用onFailure方法的地方,之后,让其调用onSuccess方法,这样也是可以达成破解的目的
我们搜索onFailure,可以找到有几个结果,经过代码查看,可以确定主要是在PayResultReceiver这个smail文件中,为什么可以确定是在这个文件呢?大家可以看上面,有个取消支付的Unicode,从这,我们可以断定,取消支付点击之后,就是会执行onFailure,我们可以把这个onFailure改为onSuccess,这样就是相当于调用onSuccess方法
不过,个人觉得这个方法在这个APP不好用,因为PayResultReceiver这个smail文件有三处地方需要改,步骤显得有些繁琐,还不如第一种简单快捷
四、测试
在测试之前,我们还要将发送短信的权限给删除,这样就不怕APP扣费了,在AndroidMainfest文件中删去图中方框那行就行了,之后编译安装测试一下吧