MuMu20220827174322.png (815.78 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
但是没玩几把就提示体力不够,需要买钻石兑换体力,解锁其它角色也需要钻石。
MuMu20220827174616.png (754.98 KB, 下载次数: 2)
下载附件
2022-8-27 18:13 上传
还不便宜,25块钱充一次。
MuMu20220827174630.png (475.34 KB, 下载次数: 2)
下载附件
2022-8-27 18:18 上传
取消支付后提示购买失败,想要试试能不能破解。
MuMu20220827174636.png (446.01 KB, 下载次数: 2)
下载附件
2022-8-27 18:13 上传
很老的游戏了,应用2017年更新的,没有加固,感觉应该希望比较大.
MuMu20220827174733.png (125.91 KB, 下载次数: 2)
下载附件
2022-8-27 18:13 上传
搜索各种字符串,比如9000 success pay result 支付,等和充值相关的文字,最终在com.holyblade.tv.sdk.PayActivity找到了相关的代码。
可以看到有2种大致情况,支付了和没支付,其中支付了又有支付成功和支付失败2种情况,总共细分为3种.
[Java] 纯文本查看 复制代码protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
if (requestCode == 0 && resultCode == -1) {
Bundle bundle = data.getExtras();
int nback = bundle.getInt("back");
if (nback == 1) {
jo.put("payResult", "true");
jo.put("payResultInfo", "success");
TVSDKClient.delectedOrder(NetHander.threeRdOrderCode);
} else {
jo.put("payResult", "false");
jo.put("payResultInfo", "failed");
}
Message message = Message.obtain();
message.what = 1;
this.messageHandler.sendMessage(message);
} else {
jo.put("payResult", "false");
jo.put("payResultInfo", "pay cancel");
Message message2 = Message.obtain();
message2.what = 1;
this.messageHandler.sendMessage(message2);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("data:" + jo.toString());
}
首先删除没支付的跳转判断,77和81两行if判断直接删除,所有情况强制跳转到已支付的流程,因为开始作了修改,后面的行数可能就不准了。
MuMu20220827175617.png (106.23 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
然后在100行,将nback的寄存器V3定义为1,强制将支付结果变为支付成功。
MuMu20220827175915.png (117.51 KB, 下载次数: 2)
下载附件
2022-8-27 18:13 上传
改了上面2处后,现在代码变成了这样,不管什么情况都是支付成功:
[Java] 纯文本查看 复制代码protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
Bundle bundle = data.getExtras();
bundle.getInt("back");
if (1 == 1) {
jo.put("payResult", "true");
jo.put("payResultInfo", "success");
TVSDKClient.delectedOrder(NetHander.threeRdOrderCode);
} else {
jo.put("payResult", "false");
jo.put("payResultInfo", "failed");
}
Message message = Message.obtain();
message.what = 1;
this.messageHandler.sendMessage(message);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("data:" + jo.toString());
}
保存编译测试一下,选择钻石补充
MuMu20220827180131.png (609.69 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
跳到了支付方式选择界面,直接取消支付
MuMu20220827180143.png (367.48 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
显示支付成功,钻石也增加可以用了.
MuMu20220827180151.png (922.95 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
但是每次充钻石都会跳到支付界面,界面调用要耽误时间,感觉十分不爽,想改成不跳到界面,直接成功.
看了下onCreate这段,最后几行和支付结果判断是不是差不多,只差一个把payResult:true和payResultInfo:success放到JSONObject中,和 message.what 改为1
[Java] 纯文本查看 复制代码 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(1);
getWindow().setFlags(1024, 1024);
getWindow().setFlags(128, 128);
System.out.println("Payact oncreate");
this.activity = this;
isEnd = false;
this.isDownLoad = false;
jo = new JSONObject();
this.messageHandler = new MessageHandler(this);
Message message = Message.obtain();
message.what = 0;
this.messageHandler.sendMessage(message);
}
将支付成功这一段写JSON的代码复制
MuMu20220827180439.png (130.14 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
粘贴到onCreate这里,复制过来的时候用到了寄存器V4,V5,V6,要根据实际情况修改一下,检查后面的代码没有用到V1 V2 V4,那就改成V1,V2,V4。
MuMu20220827180800.png (133.7 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
然后将 message.what的寄存器v3强制为1
MuMu20220827180953.png (129.91 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
再次保存编译,这下点购买直接就成功了,不用跳转支付界面
MuMu20220827181135.png (966.77 KB, 下载次数: 1)
下载附件
2022-8-27 18:13 上传
所有皮肤已解锁
MuMu20220827185132.png (822.91 KB, 下载次数: 1)
下载附件
2022-8-27 18:54 上传