stars-one 发表于 2018-3-7 10:39

android游戏——魔塔内购破解版及分析

在taptap上无意之中的找到的游戏,不到1MB大小,玩了几分钟钟后发现游戏里面竟然有内购,而且还看到了支付宝,突然就想搞事情,反编译,搜索9000的十六进制,没有结果,购买失败的时候弹出了一个Toast,Toast里的字符串为支付失败,那就搜索支付失败的Unicode,于是就找到了关键的smail文件,简单的分析之后,发现了支付成功的Unicode也是在这个smail文件之中,那么修改就是简单的事情了
.method public onResult(Ljava/lang/String;)V
    .locals 4

    .prologue
    const/4 v3, 0x0

    .line 83
    new-instance v0, Lcom/itwander/plugin/PayResult;

    invoke-direct {v0, p1}, Lcom/itwander/plugin/PayResult;-><init>(Ljava/lang/String;)V

    .line 89
    invoke-virtual {v0}, Lcom/itwander/plugin/PayResult;->getResult()Ljava/lang/String;

    .line 91
    iget-object v1, p0, Lcom/cyanflxy/game/ext/ExtActivity$1;->a:Lcom/cyanflxy/game/ext/ExtActivity;

    .line 92
    invoke-virtual {v0}, Lcom/itwander/plugin/PayResult;->getResultStatus()Ljava/lang/String;

    move-result-object v0获得v0

    .line 94
    const-string v2, "9000"

    invoke-static {v0, v2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z判断v0是否与9000相等,9000是支付宝中成功的标识码,这里也就是判断是否支付成功

    move-result v2

    if-eqz v2, :cond_0   判断v2是否为0,为0就跳转到cond_0 ,不为0的话也就是支付成功了,我们只需要将这一行删除,就会弹出支付成功的Toast,弹出支付成功的Toast也就意味着我们破解成功了

    .line 95
    const/16 v0, 0x3e8

    invoke-static {v0}, Lcom/cyanflxy/game/a/a;->d(I)V

    .line 96
    iget-object v0, p0, Lcom/cyanflxy/game/ext/ExtActivity$1;->a:Lcom/cyanflxy/game/ext/ExtActivity;

    invoke-static {v0}, Lcom/cyanflxy/game/ext/ExtActivity;->a(Lcom/cyanflxy/game/ext/ExtActivity;)V

    .line 97
    const-string v0, "\u652f\u4ed8\u6210\u529f"支付成功

    invoke-static {v1, v0, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; 弹出Toast

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    .line 107
    :goto_0
    return-void

    .line 98
    :cond_0
    const-string v2, "8000"

    invoke-static {v0, v2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_1

    .line 101
    const-string v0, "\u652f\u4ed8\u7ed3\u679c\u786e\u8ba4\u4e2d"

    invoke-static {v1, v0, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    goto :goto_0

    .line 104
    :cond_1
    const-string v0, "\u652f\u4ed8\u5931\u8d25"

    invoke-static {v1, v0, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    goto :goto_0
.end method


破解版 链接: https://pan.baidu.com/s/1m48Sm-HIa7UeV0varOKbxg 密码: 9vgr
原版 链接: https://pan.baidu.com/s/13VxaRcV-1HCsP5oQ8mLGTA 密码: u3vz

mogoyu 发表于 2018-3-8 22:29

当前 Apktool 使用版本:Android Killer Default APKTOOL
正在反编译 APK,请稍等...
>I: 使用 ShakaApktool 2.0.0-20150914
>Exception in thread "main" b.a.D: b.d.f: java.util.zip.ZipException: zip END header not found
>        at b.a.E.g(Unknown Source)
>        at b.a.E.a(Unknown Source)
>        at b.b.a.a(Unknown Source)
>        at b.b.a.a(Unknown Source)
>        at com.rover12421.shaka.cli.Main.main(Unknown Source)
>Caused by: b.d.f: java.util.zip.ZipException: zip END header not found
>        at b.d.j.<init>(Unknown Source)
>        at b.d.j.<init>(Unknown Source)
>        at b.a.d.c.a.a(Unknown Source)
>        ... 5 more
>Caused by: java.util.zip.ZipException: zip END header not found
>        at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1252)
>        at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1153)
>        at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1160)
>        at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:997)
>        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:960)
>        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:216)
>        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:148)
>        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:162)
>        ... 8 more
APK 反编译失败,无法继续下一步源码反编译!

这个是什么问题

stars-one 发表于 2018-3-8 14:36

878510 发表于 2018-3-8 10:48
下了AndroidKiller看发觉不会用
还是谢谢楼主了

不懂使用Androidkiller可以看我的写的破解教程http://www.cnblogs.com/kexing/p/8001065.html

丶青春分離曲 发表于 2018-3-7 10:59

学习了 学习了

wshuai13579 发表于 2018-3-7 11:00

老哥厉害了,魔塔童年回忆啊{:1_899:}

soleil 发表于 2018-3-7 11:00

大哥貌似链接已经被河蟹了

温华 发表于 2018-3-7 11:25

你下载的没加固?

fengxiao 发表于 2018-3-7 11:41

魔塔50层,看楼主的塔主的

letgone 发表于 2018-3-7 11:47

厉害了 正在看

凉白 发表于 2018-3-7 11:50

连接挂了

枣庄大拿 发表于 2018-3-7 12:11

{:301_998:}29层以后怎么过。。

zjls9933 发表于 2018-3-7 12:13

逆天的楼主是我表哥
页: [1] 2 3 4
查看完整版本: android游戏——魔塔内购破解版及分析