0x00 前言
之前對於app反編譯的smali匯編語言都是靜態分析為主,加上一點ida6.6的動態調試,但是ida的調試smali真的像雞肋一樣,各種不爽,遇到混淆過的java代碼就欲哭無淚了。后來知道IDEA用一款插件也可以實現smali的動態調試,但是只有14.1之后的版本才支持。idea是一款商業軟件,懶得去找各種破解版,就想着用androidstudio來代替idea來達到動態調試的目的。
0x01 工具
①Android Studio 1.5Preview,不清除低版本的是否支持smali的調試
②apktool,盡量使用最新版的。
③ideasmali插件。下載地址
0x02 具體步驟
安裝ideasmali插件,File->Settings->Plugins,安裝之前下載的ideasmali插件。
反編譯apk
以調試狀態啟動app,並轉發8700端口 [app_pid]
記住這時候需要將DDMS關掉,不然會出現錯誤
使用AS導入之前反編譯的目錄,這里選擇debugsmali文件夾就可以了。
然后選擇Create project from existing sources,之后一直選擇next。
對之前反編譯的debugsmali/src文件夾右鍵-->Make Directory As --->Source Root
配置遠程調試的選項,選擇Run-->Edit Configurations:
增加一個Remote調試的調試選項,端口選擇:8700
之后選擇File-->Project Structure 配置JDK
下好斷點之后Run-->Debug'smali',這里的smali是我們之前配置好的調試選項。
運行起來之后就可以單步執行,查看寄存器的值,慢慢調試了。