Android逆向教程(二)——教你如何破解童年小游戏《魔塔》

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

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

.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  [color=Red]获得v0[/color]

    .line 94

    const-string v2, "9000"

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

    move-result v2

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

    .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, [color=Red]"\u652f\u4ed8\u6210\u529f"  支付成功[/color]

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

    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

发布了40 篇原创文章 · 获赞 43 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/h471507602/article/details/104215850