4.9 破解内购 II

作者:飞龙

这次要破解的游戏是这个:http://dl.pconline.com.cn/download/544623.html

打开游戏后,主界面有个 VIP,我们要破解的就是这个东西:

4.9 破解内购 II - 图1

我们切换到“好友代付”,点击“购买”,然后是“确认支付”:

4.9 破解内购 II - 图2

提示“购买道具xxx失败”。好,我们载入 AK:

4.9 破解内购 II - 图3

我们搜索“失败”的 Unicode,在SDKMessage$1中找到了失败的文本。

  1. .line 203
  2. :pswitch_1
  3. new-instance v1, Ljava/lang/StringBuilder;
  4. # 购买道具:[
  5. const-string v2, "\u8d2d\u4e70\u9053\u5177\uff1a["
  6. invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
  7. invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8. move-result-object v1
  9. # ] 失败!
  10. const-string v2, "] \u5931\u8d25\uff01"
  11. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12. move-result-object v1
  13. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14. move-result-object v0

这是switch是一个分支,我们直接往上找:

  1. .line 197
  2. .local v0, "result":Ljava/lang/String;
  3. packed-switch p1, :pswitch_data_0
  4. # ...
  5. .line 197
  6. :pswitch_data_0
  7. .packed-switch 0x1
  8. :pswitch_0
  9. :pswitch_1
  10. .end packed-switch

按照惯例,我们把跳转表都改成:pswitch_0,编译,打包,安装。然后随便购买一个东西。虽然 SDK 的对话框提示失败,这个我们改不了,但是游戏的Toast提示成功。

4.9 破解内购 II - 图4