簡單的登錄逆向
因爲是簡單的學習過程,所以這裏直接進行逆向,就不進行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來進行跳轉