如何逆向一個apk呢?
逆向,與pc逆向一樣,都是要分析關鍵代碼,找關鍵語句等。
簡單的安卓逆向:
拖進android killer(強推,很好的集成工具)
java代碼–》加載佈局文件–》尋找字符串文件
apk包實質
所謂apk包,不過就是一個壓縮包,
將後綴名改成.zip再解壓縮,就會看到apk內的真正文件了。
大體目錄如下:
- res–裝的資源文件
- META-INF–簽名文件夾 (很關鍵啊)
- classes.dex–可執行文件,手機上就是執行這個的
- AndroidMainfest.xml -----配置文件
- resources.arsc------一些你想到但是找不到的文件可能會到這裏
Android系統框架
-
Applications 應用層|
-
Android Framework 框架層|
-
Android Runtime 運行時,Dalvik虛擬機中運行時|
-
LiBraries --------核心類庫層
-
Linux Kernel Linux類核
常見java與smail的對比
smail—java
L-------class
z------boolean
v------void
i=====int
smail .class public Lcom/qianyu/login/MainActivity
java:public class com.qianyu.login.MainActivity
smail中:.super Landroid/app/Activity
super表示父類
.source "MainActivity.java" //java名稱是source
./field private 名稱:字段類型 //private 私有
smail:virtual method 虛擬方法
smail中表示類的方法:
L包名/類名/
- 命名方法(寄存器的命名不同)
v命名
p命名