smali動態(tài)調(diào)試-ApkLab和jadx使用

??Android逆向-smali動態(tài)調(diào)試-ApkLab和jadx使用
??APK添加調(diào)試屬性
手動添加??在AndroidMainifest.xml <application下面添加一行 android:debuggable="true"
ApkLab添加
??ApkLab使用
打開Visual Studio Code, 按F1搜索apklab: Open an apk 打開一個apk
等待反編譯完成 點擊apktool.yml右鍵 ApkLab: Rebuild apk, 把--debug勾選上
APK安裝 dist/*.apk 右鍵 install the apk
??jadx調(diào)試smali
控件事件斷點
打開apk, 控件事件搜索 onClick?排除系統(tǒng)/開發(fā)庫 com.google.* androidx.* android.* kotlin.* kotlinx.* org.*
切換到smali代碼 右鍵\Show Daivik開啟 , 在onClick方法里第一行代碼下斷點
選擇點擊調(diào)試\運行APP, app等待調(diào)試器附加. 雙擊出現(xiàn)的調(diào)試進程, 點擊圖標運行(F9)
點擊APP的Button, APP停止運行, jadx的運行、步過、步入、步出可以使用.
需要跟蹤|離開方法時 用步入|步出, 按順序執(zhí)行每一條語句用步過
(2)在Activity入口下斷點
搜索 super.onCreate 或者 setContentView 之類找到Activity的onCreate方法下斷點, 其余和上面一樣
jadx成功斷下app后可以查看調(diào)用堆棧、寄存器/變量信息, 如App最開始由系統(tǒng)的ZygoteInit->;main方法執(zhí)行過來