【android逆向筆記】(一)簡單登錄逆向

簡單的登錄逆向

因爲是簡單的學習過程,所以這裏直接進行逆向,就不進行android代碼的演示了。apk是直接借用了被人寫好的app來進行學習的。

(1)使用APK改之理對apk進行編譯。

這裏寫圖片描述

(2)找到mainactivity進行代碼的查看。

這裏寫圖片描述

(3)smail代碼不懂,只能一行一行的自己進行查找。但是APK改之理可以直接把smail直接變成java代碼,不知道這樣做對不對,但是現階段是非常省事的一個功能。

這裏寫圖片描述

(4)對smail代碼進行分析

1.check函數

這裏寫圖片描述

2.數據類型,表示String

這裏寫圖片描述

3.指定了方法內局部變量的個數,這裏指定了兩個變量

這裏寫圖片描述

4.其中p1就是一個寄存器,這裏存儲的是”name”,.param的意思是指定了寄存器的參數

這裏寫圖片描述

5. .prologue 表示方法中代碼開始的地方。

這裏寫圖片描述

6. const/4 v1,0x0的意思就是把0賦值給v1,將數值符號擴展爲32

這裏寫圖片描述

7..line 28 源文件中java指定行數。

這裏寫圖片描述

8.const-string v0,”hfdcxy”,把字符串賦值給v0

這裏寫圖片描述

9.invoke-virtual{p1,v0} 調用public或protect修飾的方法。

這裏寫圖片描述

10.這句代碼的意思就是比對兩個期存器內的內容,然後結果是一個booleam類型的值。

這裏寫圖片描述

11.將上一個invoke指令的值賦給v0

這裏寫圖片描述

12.if-eqz v0,:cond_0,相當於if(a==0)或者if(!a)

這裏寫圖片描述

13.invoke-static 調用實例的靜態方法

這裏寫圖片描述

(5)對登錄進行繞過

1.第一種方法,更改判斷條件

這裏寫圖片描述
在圈圈中的位置把eqz改成nez即可

進行測試。

這裏寫圖片描述

2.第二種方法,把相應代碼刪掉

這裏寫圖片描述

3.第三種發放,使用goto來進行跳轉

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章