1. 程式人生 > >IDA PRO除錯和修改

IDA PRO除錯和修改

科普知識:
android 若有so庫會放置於 data/app-lib/package/或者data/data/package.

IDA 動態除錯步驟

反編譯apk 在清單檔案新增debugable=true這一步在smali靜態除錯教學過 這裡不在描述

下載後開啟IDA安裝目錄的dbgsrv,然後在目錄下拷貝android_server檔案到android手機上.
adb push android_server /data/local/tmp/

修改檔案許可權

chmod 777 android_server

下一步:啟動此服務即可

./android_server

介面轉發
在android啟動了服務,預設在23946埠,我們轉發到電腦某一埠上,方便讓IDA連線

adb forward tcp:電腦埠 tcp:android_server埠(預設23946)

以除錯命令開啟應用

adb shell am start -D -n 包/launcherActivity

轉發除錯介面.此處apk和電腦偵錯程式的連線,上面是android_server和電腦除錯的連線

adb forward tcp:電腦埠 jdwp:埠

開啟IDA PRO 開啟對應SO庫.
開啟後,選擇選單欄Debugger->select *->Remote ARM Linux/Android *
繼續點選選單欄Debugger->procese option


這裡寫圖片描述

Debugger->attach to process 然後選對應的手機應用

連線apk偵錯程式

jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost

此時在回到IDA PRO 左上角有個綠色三角形 點選即可開始除錯

這裡寫圖片描述

Edit->patch program可以修改位元組碼和儲存so.將修改後的so回編譯或者放入 data/app-lib/package/或者data/data/package.

TODO:有空在補圖