1、"Succeed"、"Fail"、"Cancel"、"Success"、"Failure"
相应的关键词有“PaySucceed”"PayFailed"、"PyaCanceled"等
2、"Purchase"、"PurchaseCode"、"Pay"、"PayCode"、"ResultCode"、“onBillingFinish”等
如:爸爸去哪儿官方游戏 Ver:1.9.6.5(19) 直接搜索 "Purchase" 可以找到“OnPurchaseSucceeded”“OnPurchaseFailed”“OnPurchaseCancelled”从而将代码全换为成功的操作即可容易修改为内购;
对于 .Method onBillingFinish 中,一般会有以下代码,以 熊出没之熊大快跑Ver:2.0.0(9) 为例:
这时候可以赋值操作,修改为以下:
也可达到破解的目的
如:地铁酷跑 Ver:2.18.0(58)和熊出没之熊大快跑Ver:2.0.0(9)
直接搜索“PurchaseCode”可以找到关键 PurchaseCode.Smali 文件,最后有一个专门赋值给“支付代码”的.Method:setStatusCode 如下:
.method public static setStatusCode(I)V
.end method
又有上面
.field public static final ORDER_OK:I = 0x3e9
支付成功的代码为 0x3e9
所以 setStatusCode .Method修改为:
保存即可;
3、“IAPHandler”
破解时候注意:
1、由于运营商不同游戏在内购时,界面也会呈现不同的风格和SDK接口,所以一般要去掉游戏中软件自带的发送短信的权限,以防止非自测运营商的不小心扣费;
中国移动的46000 、46002 、46007
中国联通的46001、46010
中国电信的46003、46005
中国铁通的46020
运营商的网络识别码如上,在代码中将对应下面的代码全部换成中国移动的转向路径,这样就能保证任何运营商都走我们破解的SDK接口。
2、为了提高破解的准确度,一般可以搜索多个关键,如同时搜索“Success”和“Purchase”等,这样就可以防止破解之中遗漏付费项;
3、在破解过程中,如果出现反编译失败的情况,要多试试几种不同的IDE集软。本人推荐三种:Apk改之理、Apktool、Apktoolkit。如果出现编译错误,那就根据错误信息找到错误代码,可以删除、注释掉或者整个Smali文件就删除。
4、多试错,多钻研,多搞搞。。。