吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24804|回复: 67
收起左侧

[Android 原创] 安卓内购之艾彼(Abi遗忘之都) 『适合新手』

  [复制链接]
痞孑 发表于 2018-2-2 16:47
本帖最后由 痞孑 于 2018-2-2 16:53 编辑


玩了一会需要付费解锁全部内容(心里咯噔了一下)
但不要紧,看了看不需要联网(那就是单机了)
接着我们用 Android Killer 来破了它
下方帖子里边下载
https://www.52pojie.cn/thread-319641-1-1.html
1.png

破解流程如下

1. 把安装包下载到桌面
接着把安装包拖进Android Killer反编译
2.png



2. 点击:工程搜索
3.png



3. 搜索字符:Notifydelivergoods(单机通用)
如果遇到加密或者加固的话是搜不到的
(只要是在4399下载的游戏都可以用和这个方法名来搜索)
(当然如果是网游的话,就不要白费力气了)

4.png



4. 搜索完毕之后得到的结果
(如下图)
5.png



5. 点击:最下方的一个类
(如下图)
6.png



6. 之后我们拉到最下方眨眼一看有一个U码
7.png




7. 接着我们把U码解密一下看看是什么内容
解密结果为:支付失败
154.gif



8. 那么关键来了
在NotifyDeliverGoods这个方法名下方有一个判断
8.png


.method public notifyDeliverGoods (ZLcn/m4399/recharge/RechargeOrder;)Z

    .locals 7

    .param p1, "b"    # Z

    .param p2, "rechargeOrder"    # Lcn/m4399/recharge/RechargeOrder;

    .prologue

    const/4 v6, 0x3

    const/4 v5, 0x2

    const/4 v1, 0x0

    const/4 v0, 0x1

    .line 42

    if-eqz p1, :cond_0(关键1)

    .line 43

    iget-object v2, p0, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy$1;->this$0:Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;

    # getter for: Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->mObserver:Lcom/lilith/singlegame/observer/BaseObservable;

    invoke-static {v2}, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->access$000(Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;)Lcom/lilith/singlegame/observer/BaseObservable;




9. 为什么说这个判断是关键

我们看这个判断调用了谁

.method public notifyDeliverGoods(ZLcn/m4399/recharge/RechargeOrder;)Z

    .locals 7

    .param p1, "b"    # Z

    .param p2, "rechargeOrder"    # Lcn/m4399/recharge/RechargeOrder;

    .prologue

    const/4 v6, 0x3

    const/4 v5, 0x2

    const/4 v1, 0x0

    const/4 v0, 0x1

    .line 42

    if-eqz p1, :cond_0(关键1)

(这里我们可以运用Smali语法)

(if-eqz vA, :cond_**)

(如果vA等于0则跳转到:_**

    .line 43

    iget-object v2, p0, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy$1;->this$0:Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;

    # getter for: Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->mObserver:Lcom/lilith/singlegame/observer/BaseObservable;

    invoke-static {v2}, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->access$000(Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;)Lcom/lilith/singlegame/observer/BaseObservable;

    move-result-object v2

    new-array v3, v6, [Ljava/lang/Object;

    .line 44

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

move-result-object v4

    aput-object v4, v3, v1   

.line 45

    invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v4

    aput-object v4, v3, v0

    .line 46

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v1

    aput-object v1, v3, v5

    .line 43

    invoke-virtual {v2, v3}, Lcom/lilith/singlegame/observer/BaseObservable;->notifyObservers(Ljava/lang/Object;)V

    .line 57

    :goto_0

    return v0

    .line 50

    :cond_0(关键2)

如果vA等于0则跳转到关键2

(而关键2就是支付失败)

    iget-object v2, p0, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy$1;->this$0:Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;

    # getter for: Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->mObserver:Lcom/lilith/singlegame/observer/BaseObservable;

    invoke-static {v2}, Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;->access$100(Lcom/lilith/singlegame/sisan/SingleGameSisanProxy;)Lcom/lilith/singlegame/observer/BaseObservable;

    move-result-object v2

    const/4 v3, 0x4

    new-array v3, v3, [Ljava/lang/Object;

    .line 51

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    aput-object v4, v3, v1

    .line 52

    invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v4

    aput-object v4, v3, v0

    const/4 v0, -0x1

    .line 53

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    aput-object v0, v3, v5

    const-string v0, "\u652f\u4ed8\u5931\u8d25=支付失败"

    aput-object v0, v3, v6

    .line 50

    invoke-virtual {v2, v3}, Lcom/lilith/singlegame/observer/BaseObservable;->notifyObservers(Ljava/lang/Object;)V

    move v0, v1

    .line 57

    goto :goto_0



1o. 那么这样一来思路就很清晰了
我们把 if-eqz p1, :cond_0(关键1)删掉就可以绕过关键2直接达到我们的目的


如下图为测试结果
1.png

2.png

3.png


支付成功之后就可以愉快的玩耍啦
本教程到此结束
有不会的小伙伴跟帖,抽时间回复
附成品:https://pan.baidu.com/s/1mj8ZA20 密码:bcr1

免费评分

参与人数 24威望 +1 吾爱币 +26 热心值 +24 收起 理由
zzzpkok + 1 + 1 谢谢@Thanks!
星空下的秘密 + 1 谢谢@Thanks!
竹林一轩 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
尤蛮_ + 1 + 1 谢谢@Thanks!
HJ_S + 1 + 1 用心讨论,共获提升!
FullStarsSky + 1 + 1 用心讨论,共获提升!
吾爱珀姐 + 1 + 1 热心回复!
878510 + 1 + 1
qtfreet00 + 1 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
落花无痕 + 1 + 1 谢谢@Thanks!
huaisun + 1 + 1 我很赞同!
sqxsqx0971 + 1 + 1 流程很详细,然而看不懂,赞大神
東方包子 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
笙若 + 1 + 1 谢谢@Thanks!
淡淡男人香 + 1 + 1 谢谢@Thanks!
tbwin658 + 1 + 1 谢谢@Thanks!
xs7847561 + 1 + 1 谢谢@Thanks!
我只是条咸鱼 + 1 谢谢@Thanks!
kikyoulin + 1 + 1 我很赞同!
Meizu一只小红果 + 1 + 1 谢谢@Thanks!
逝月 + 1 + 1 用心讨论,共获提升!
kk1212 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
aiyaya + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
丿凉生丶Amen + 1 + 1 ios在边上默默的看着

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

森林雪人 发表于 2018-3-8 16:42
huaisun 发表于 2018-2-5 18:32
前辈,为什么我下载的原版包,丢在Android Kiler 里面一直显示正在反编译apk源码,我反编译其他apk软件的时 ...

你下载的原版包版本太高,Android killer版本太低。我写的APP反编译时也出现这个问题。我暂时手动使用apktool反编译.
df4528 发表于 2018-3-6 09:30
感觉从开头直到搜索“支付失败”关键字之前都是非必要步骤。
直接在Android killer的工具里把“支付失败”转换为unicode(\u652F\u4ED8\u5931\u8D25)复制进搜索框就行了,当然,也可以试试“支付成功”“支付取消”。
SessionBest 发表于 2018-2-2 16:50
wacwcc 发表于 2018-2-2 16:52
学习了 。
岁月不饶人 发表于 2018-2-2 17:04 来自手机
新手路过,啥都不懂
天空之城i 发表于 2018-2-2 17:06
感谢楼主,
海神就是我 发表于 2018-2-2 17:08
楼主666 学习了  非常感谢
aiaicao 发表于 2018-2-2 17:12
666,学习了,lz厉害
Colordog 发表于 2018-2-2 17:19
楼主666 学习了  非常感谢
asdgff 发表于 2018-2-2 17:28
楼主高手,羡慕有技术的人
神客op 发表于 2018-2-2 17:29 来自手机
感谢正想玩
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表