IDA PRO除錯和修改
阿新 • • 發佈:2019-02-05
科普知識:
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:有空在補圖