对 熊大快跑Ver2.0.4 和支付的分析

来源:互联网 发布:js聚合物防水涂料视频 编辑:程序博客网 时间:2024/05/13 01:10
前言

以前遇到和支付验证的游戏,都习惯性的从MM商城重新下载破解,那里面支付机制的比较熟悉,去除支付界面直接成功的代码也比较好找,今天公司的一个同事在推广业务的时候,给了我这个包,看来必须要分析了。打LogCat的方法,没找出来,所以直接请教人了,以下是“荡”给的方法。

和支付:g.10086.cnMM商城:http://mm.10086.cn/android
具体步骤

1、和支付的关键破解点在"onResult"Method中。如下面:

.method public onResult(ILjava/lang/String;Ljava/lang/Object;)V    const/4 v3, 0x2    const/4 v2, 0x1    const-string v0, ""    new-instance v0, Ljava/util/ArrayList;    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V    packed-switch p1, :pswitch_data_0
看下面的代码流程,:pswitch_0是成功的代码,所以只需要在程序初始化成功后添加一句代码就行。
    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V    goto :pswitch_0    packed-switch p1, :pswitch_data_0
2、同时,他还提出了一种方法,熊大快跑里面还整合了电信运营商的支付机制,要是能够将所有的支付接口都调用电信,那么程序的修改就变得更加简单了,可以不弹支付界面直接成功哦。
搜索电信“46003”,让它判定成功。如下一例:
    //获取手机的IMSI    invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;    move-result-object v0    //判断是否获取为0,即是否获取成功    if-eqz v0, :cond_2    //删除,支持离线    //电信运营商的标识码    const-string v3, "46003"    //开头是否为“46003”    invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z    move-result v0    //如果是“46003”口头 则跳到:con_0    if-nez v0, :cond_0   //删除该句让它跳转成功    const-string v0, "\u4e2d\u56fd\u7535\u4fe1"
锁定电信运营商以后 我们就修改其支付支付机制,关键词“paysuccess”“payfail”等,替换一下就行。
后记
所以,以后遇到热门的短代支付的游戏,简单的破解步骤就是:
先搜索“46003”,修改代码让它无限判断成功;
然后paysuccess、payfail、payfail替换。

更新下博客...
   
1 0
原创粉丝点击