準備工作
- 準備工作
- 一臺Mac os/Window系統(tǒng)的電腦
- 一部root的手機/或者(root的Android模擬器)
- IDA Pro
- adb
- 需要進行調(diào)試的APK
演示環(huán)境
- Mac os系統(tǒng)的電腦
- genymotion Android 模擬器
- IDA Pro 7.0 32位
開始
- 將手機通過數(shù)據(jù)線連接到電腦
- 將IDA安裝目錄下的dbgsrv目錄下的android_server發(fā)送到手機中辕录。
adb root
adb push /Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/dbgsrv/android_x86_server /data/local/tmp/android_server
注:此處的android_server的架構(gòu)根據(jù)打開的IDA架構(gòu)一一對應(yīng)的睦霎,即IDA打開的是64位,則推送64位的android_server走诞,如果你模擬器用android_x86_server
- 給android_server賦予755權(quán)限
adb shell
chmod 755 /data/local/tmp/android_server
- 啟動調(diào)試服務(wù)器
/data/local/tmp/android_server
注:調(diào)試服務(wù)器的默認監(jiān)聽端口為:23946
5.進行端口轉(zhuǎn)發(fā)
新開一個終端端口
adb forward tcp:23946 tcp:23946
- 在手機上運行要啟動的app副女,并打開IDA pro
- 依次點擊菜單欄上的"debugger - attach -remote linux deugger",在彈出的窗口中填充以下內(nèi)容:
如果是真機選擇下面
remote Armlinux/android debugger
Hostname:localhost
Port:23946
8.在模擬器中啟動app, 在彈出的窗口中選擇要調(diào)試的app的數(shù)據(jù)包名,然后點擊"ok"按鈕
- 這個時候ida會把app掛起,在ida界面按下ctrl+s找到我們需要調(diào)試的so文件蚣旱,同時記錄下該文件的加載基址碑幅。然后點擊"OK"按鈕關(guān)閉對話框。
- 按下快捷鍵“G”塞绿,然后輸入基址+文件偏移所得地址沟涨,點擊“OK”,就跳轉(zhuǎn)到so文件需要下斷點的位置异吻。這個時候按下F2設(shè)置斷點裹赴。當app執(zhí)行到此處時便可以斷下來了。