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

發佈了39 篇原創文章 · 獲贊 42 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章