Debugger,並且從中了解不同的工具的實作差異。
準備工具:
1. IDA Pro v6.6 以上
2. Android 模擬器 (可使用Android Studio內建的)
一、解壓縮apk
使用7-zip工具,將apk檔案解壓縮,然後可以看到主程式classes.dex。
準備工具:
1. IDA Pro v6.6 以上
2. Android 模擬器 (可使用Android Studio內建的)
一、解壓縮apk
使用7-zip工具,將apk檔案解壓縮,然後可以看到主程式classes.dex。
二、開啟IDA Pro 載入Dex程式碼
開啟IDA Pro之後,將classes.dex拖曳到IDA Pro視窗裡面。
三、安裝APP到模擬器
將要Debugger的APP安裝到模擬器上,並且把APP執行起來。
四、設定IDA Pro Debugger環境
左鍵點擊工具欄上的Debugger -> Debugger options ,會看到Debugger setup的視窗,這邊的設定都是預設的。
然後再選擇Set specific options,會跳出Dalvik debugger configuration的視窗。
設定ADB executable的路徑。
五、IDA Pro Debugger APP
從工具列選擇Debugger -> Attach to process,然後找到要Debugger的APP,並按下OK,此時模擬器上的APP並不能運作,因為APP的執行流程給IDA Pro控制了,因此要再IDA Pro上按快捷鍵F9,讓執行流程重新回到模擬器的APP。
在程式碼的區塊裡面按下快捷鍵F2 (會顯示紅色的區塊),可以設定中斷點,等下在模擬器上面按下APP的Button的按鈕,就會被中斷到這裡,並且觀察參數的訊息。
在APP上按下數字鍵6 (Button 6),這時候IDA Pro 會接管APP,這時可以觀察參數。
在工具列上選擇Debugger -> Debugger windows –> Watch view,然後會跳出Watch view的視窗,在視窗裡面按下右鍵,選擇Add watch,輸入(Object*)view (參數的格式可以是Object*、String、char*、int,如果參數顯示不出來可以換一換不同的格式)。
從參數裡面,可以看出剛剛按下的是數字鍵6,因此可以從Debugger APP來了解程式的運作行為,這是非常有趣的一門技術 。