Android逆向分析初體驗

來源:互聯網
上載者:User

標籤:代碼   XML   檔案   .so檔案   學習   img   bsp   軟體   目錄   

一、    準備知識

 

1.             懂Java Android開發。

2.             懂NDK ,C 語言 Android 動態連結程式庫.SO開發。

3.             懂Android反編譯Smali 文法。

4.             懂adb 和 jdb 等等工具使用。

5.             懂IDA 調試(遠程動態調試APK和本地靜態調試.SO檔案)

6.             懂Arm彙編文法(因為行動裝置晶片是Arm架構的,不是Intel的晶片,不是x86彙編,是Arm彙編)。

7.             懂APK的打包解包流程。

8.             其他工具使用(改之理,Apk killer,Android模擬器)等等等等。

9.             懂檔案格式類似PE格式,例如:ELF,和Android檔案格式等等。

 

以上的均為Android 逆向的基本條件,想學的童鞋,可以按照上面的學習,也可以自行尋找!

 

以上內容哪裡不會只能自己補充知識啦,太多,講不完!!!

二、    入門逆向分析因為我們是入門分析,所以以上準備知識,先懂一些就行,不必要都懂,知識是慢慢積累的,慢慢學習!!!1)       先看看我們APK Demo(沒有加殼)。 

 

2)       隨便輸入提示錯誤,我們可以解壓這個APK看看。

 

直接滑鼠右鍵解壓到….不需要修改尾碼名也可以的。

 

解壓出來是這個樣子的,這是Android的檔案目錄,具體每個檔案夾是什麼作用可以自行尋找一下,看到沒有lib類似的目錄說明沒有.SO這樣的動態連結程式庫,那麼這個軟體就比較容易逆向分析,因為都是Smali 和 Java代碼比較容易看懂。

3)       用改之理開啟這個APK。

 

開啟後如所示。

 

4)       找關鍵處。

如搜尋要破解APK的字串。

 

5)       繼續搜尋索引鍵

因為這是一個xml格式的文本,successed 對應的 恭喜您,所以有可能是突破口,所以繼續搜尋successed。

 

找到一個id,因為Android程式裡面就是這樣分配的,所以我們接下來尋找id的值也就是0x7f05000c。

 

找到一句const v1, 0x7f05000c 這是Smali文法,和彙編類似,是把0x7f05000c放到v1寄存器裡面,所以v1就為恭喜您這句話。

6)       同樣的方法,尋找unsuccessed,做好注釋如。

 

7)       找到之後用#注釋下,方便查看。

如那個 if-nez 由名字可知道 他的意思是 如果 v0 這個寄存器不等於0就跳轉。就跳轉到了cond_0這個位置,剛好調到恭喜您的位置,所以我們讓這個跳轉實現就可以了,方法好多。我們也可以結合源碼分析。

點擊按鈕(如)。

 

會出現源碼,可以結合分析。

 

8)       代碼修改。

 

只要把if-nez 改成 if-eqz就行啦。

9)       然後編譯一下,安裝執行。

 

 

顯示登入,成功破解。

三、    總結

Android逆向分析入門,這個比較簡單,容易學習。

因為無殼無.SO分析起來較為容易,適合入門。

入門:先學會Smali文法,學會改之理的使用,最好會寫Android程式。

 

Android逆向分析初體驗

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.