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,的第一种方法

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