安卓逆向學習——APK結構

APK是Android系統上的一個安裝文件,我們從網絡上下載一個app應用時首先要下載它的安裝包。這個安裝包的本質其實還是一個打包好的壓縮文件。我們在自己的電腦上下載好APK後,把APK後綴更改爲.zip就可以直接看到內部文件的結構。下圖是結構圖
在這裏插入圖片描述
編譯後的apk文件
在這裏插入圖片描述
看下編譯前後的文件對應關係
在這裏插入圖片描述
JAVA目錄編譯成了classes.dex文件,這個文件用於存放編譯後的代碼。
res編譯成了resources.arsc和res目錄,存放各種程序資源。
在這裏插入圖片描述
AndroidManifest.xml文件前後編譯後還是這個文件名。
反編譯後出現的smali就是class.dex反編譯後的結果,這也是smali可以下斷調試的根本原因
分析一個APK的流程
1)安裝觀察,首先要了解這個APP幹了什麼,有哪些功能和信息,通過哪個信息着手分析這個APP。
2)記錄APK關鍵信息,方便對APK的下一步分析
3)程序驗證,也就是將程序回編一下,檢測是否能正常編譯運行來判斷是否有保護機制
4)開始分析

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