前言
以前遇到和支付验证的游戏,都习惯性的从MM商城重新下载破解,那里面支付机制的比较熟悉,去除支付界面直接成功的代码也比较好找,今天公司的一个同事在推广业务的时候,给了我这个包,看来必须要分析了。打LogCat的方法,没找出来,所以直接请教人了,以下是“荡”给的方法。
- 和支付:g.10086.cn
- MM商城: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
- invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
- goto :pswitch_0
- packed-switch p1, :pswitch_data_0
搜索电信“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"
后记所以,以后遇到热门的短代支付的游戏,简单的破解步骤就是:
先搜索“46003”,修改代码让它无限判断成功;
然后paysuccess、payfail、payfail替换。