ida調試so

在IDA的主目錄 dbgsrv 目錄下 ,找到 android_server,拷貝到手機的 data/local/tmp/ 目錄下

adb push (android_server的目錄) /data/local/tmp

adb shell chmod 755 /data/local/tmp/android_server

adb shell

su

cd data/local/tmp

./android_serve

adb forward tcp:23946 tcp:23946

 

打開ddms

 

以調試的方式啓動程序

adb shell am start –D -n 包名/類名

 

Ddms可看到被調試程序前面爲紅色

打開IDA,把so文件拖入ida,設置斷點:

接着

選擇ida菜單Debugger -> Remote ARM Linux/Android debugger

Debugger -> Process options

 

Debugger -> Attach to process

選擇要進行調試的APP

一路ok

然後ida左上角點擊運行

緊接着命令行運行

jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=XXXX(DDMS查詢到的端口號,一般ddms進行轉發後的端口都是8700,此命令行用來恢復程序運行)

 

在apk中任意輸入數字

點擊按鈕,發現ida已經斷下

就可以F8單步走啦

以上爲先下斷點再attach,運行後可以直接停在斷點處

 

也可以先attach再下斷點,這樣不需要糾結手機用哪個對應cpu的so文件:

對應教程在https://www.cnblogs.com/ddms/p/8820044.html,的第一種方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章