某TV版贪吃蛇内购破解

查看 245|回复 11
作者:zch11230   
最近被封在家里好无聊啊,在电视上装了个贪吃蛇和孩子一起玩,才开始玩孩子还是挺有兴趣。


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 上传

下载次数, 下载附件

老M   

不错,我去买台电视来试试看
xx363300   

发个成品呗…………😂
粉笔盒子   


gideon 发表于 2022-9-1 08:45
建议还是不要了

为啥不要啊
福森108   

谢谢分享哦
yeek2006   

谢谢分享,厉害厉害
fa22   

休闲小游戏!不错!
liguang0527   

好厉害呦  感谢分享
jxg1993   

感谢分享
likaiaixuexi   

厉害,我等膜拜大神
您需要登录后才可以回帖 登录 | 立即注册

返回顶部