千炮捕鱼 破解过程

 这个游戏在破解的时候,利用我上一篇介绍的针对移动MM的一般解法,搜索“PurchaseCoce”或者在“onBillingFinish”方法,进行设置,就可以让支付SDK的界面显示“支付发送成功”。

但是想不到是,在点击“确定”返回,一般增加金币的操作并没有执行,而是跳出了一个 Dialog“等待游戏到账..”,然后提示“订单延迟到账,请联系客服”。

可以料想,该游戏在验证通过“短信发送成功”后还是向服务端验证是否计费成功,计费成功了 才会发放相应的金币。

那么我们就循序渐进,搜索关键词“等待游戏到账..”可以来到方法 .method protected onCreateDialog(I)Landroid/app/Dialog; 根据代码得知,这个是设置提示信息的,不是我们要找的关键。

我们再试着搜索“订单延迟到账”,找到方法 .method protected varargs doInBackground 我们看下代码:

 

    invoke-virtual {v7, v8, v6}, Lcom/moling/core/util/proxy/pay/BasePayProxy;->validOrder(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_1  //关键跳

    .line 101
    iget-object v7, p0, Lcom/moling/core/util/proxy/pay/BasePayProxy$2;->this$0:Lcom/moling/core/util/proxy/pay/BasePayProxy;

    const/4 v6, 0x0

    aget-object v6, p1, v6

    check-cast v6, Ljava/lang/String;

    const/4 v8, 0x0

    invoke-virtual {v7, v6, v8}, Lcom/moling/core/util/proxy/pay/BasePayProxy;->payFinish(Ljava/lang/String;Z)V  //调用成功购买的方法

    .line 125
    .end local v2    # "sleep":I
    .end local v3    # "t1":J
    .end local v5    # "time":I
    :goto_0
    const/4 v6, 0x0

    return-object v6

    .line 104
    .restart local v2    # "sleep":I
    .restart local v3    # "t1":J
    .restart local v5    # "time":I
    :cond_1
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v6

    const-wide/16 v8, 0x3e8

    div-long/2addr v6, v8
    :try_end_1
    .catch Lcom/moling/core/exception/PayExcetion; {:try_start_1 .. :try_end_1} :catch_1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2

    sub-long v3, v6, v3

    .line 105
    int-to-long v6, v5

    sub-long/2addr v6, v3

    long-to-int v5, v6

    .line 112
    .end local v3    # "t1":J
    :cond_2
    sub-int/2addr v5, v2

    .line 113
    if-gtz v5, :cond_0

    .line 114
    :try_start_2
    new-instance v6, Lcom/moling/core/exception/PayExcetion;

    const-string v7, "DELAY"

    const-string v8, "\u8ba2\u5355\u5ef6\u8fdf\u5230\u8d26\uff0c\u8bf7\u8054\u7cfb\u5ba2\u670d"  //获取订单失败的提示。


然后保存 即可成功得到金币。

=====

联通卡转向移动支付SDK的方法:是将检测网络标识的函数返回值永远指向移动接口。这样就算是联通卡也会调用移动的支付接口,破解了移动接口,也就破解了全运营商的购买。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值