Android逆向——破解水果大战

最近公司需要测试安卓app安全,但安卓基本上0基础,决定了解下安卓逆向
根据吾爱破解上教程 《教我兄弟学Android逆向系列课程+附件导航帖》

https://www.52pojie.cn/thread-742703-1-1.html ,感谢此教程帮助我快速了解了安卓逆向


破解的程序:  https://pan.baidu.com/s/10hxJITuLYr11p9MfrmGpRA  提取码:r7wa

第三章任务是破解水果大战

首先打开游戏,发现是有很多地方需要收费的,我们就反编译这个app,改动一些函数,使我们直接跳过收费的地方达到破解的目的(以下行为仅供学习及测试用途)

首先用Android KIller打开

然后搜索  "失败"  转码后的函数

应该是MymmPay那里,打开看看,可以转成java大致看一下是不是和支付有关的函数。

 基本上是这里了,然后回到AndroidKiller 打开,浏览以下发现有以下几个关键函数:

 payResultCancel()  payResultFalse()  payResultSucess()   

分别代表着支付取消,支付失败,支付成功

如果我们吧支付取消,支付失败的内容都改换成支付成功的内容,那岂不是不管如何操作都代表着支付成功了

我们就把支付成功的函数复制到其他两个里面

复制. method publi  payResultSucess()函数里  .payResultSucess()下面 到.end method上面的内容到  payResultCancel()  payResultFalse()里边(替换方框里的内容)

 

 复制从这里开始

 

中间省略。。。

到这里结束

 最后删除可能会产生费用的危险权限:   

AndroidManifest.xml里搜索(或者可以直接搜索下面的这个)

android.permission.SEND_SMS
删掉
<uses-permission android:name="android.permission.SEND_SMS"/>

 最后再编译打包,就可以无限再游戏里消费了

方法2.

上边的方法是,替换购买失败部分的smail函数,让用户支付失败也会成功

换个思路,我们去找哪里调用payResultFalse方法 然后我把这个方法名字改成支付成功方法的名字:

看java,搜索定位到这里

 这里就是支付失败的方法,下面就是支付成功的方法,然后就去寻找跳转到失败的方法,把他改成成功

 回到Androidkiller

定位到这里,可以修改这两个跳转位置

 此方法同样可以破解

参考链接吾爱破解:

https://www.52pojie.cn/thread-642371-1-2.html

 

原文地址:https://www.cnblogs.com/zhaoyixiang/p/11202067.html