1. 程式人生 > >Android Smali反彙編分析與除錯

Android Smali反彙編分析與除錯

很多Android APK由於加密了(比如加了花指令), 無法反彙編為Java程式。此時只能檢視Smali原始碼, 用Smali原始碼進行除錯分析。

 

smali以及baksmali的jar包用法

baksmali下載:jar包下載地址
命令列:java -jar baksmali-2.1.3.jar -o [輸出資料夾] dex檔案
執行結果如圖:

執行成功後,可以進入smali資料夾中看到轉換成功的smali檔案了。

 

smali原始碼的除錯分析

用QTrace(http://www.qtrace.top)程式可以方便的檢視Smali原始碼,並進行除錯。

開啟QTrace, 點選選單 File->專案->編輯專案:

專案路徑設定為,反編譯後的Smali原始碼路徑。

並把要除錯的程式碼,新增到專案中。

 

然後就可以開啟對應的Smali原始碼進行除錯了,除錯方法跟Java原始碼完全一樣。當發生中斷時,原始碼的位置也是非常準確的。