在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

ida调试so

adb forward tcp:23946 tcp:23946

 

打开ddms

 

以调试的方式启动程序

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

ida调试so

 

Ddms可看到被调试程序前面为红色

ida调试so

打开IDA,把so文件拖入ida,设置断点:

接着

选择ida菜单Debugger -> Remote ARM Linux/Android debugger

Debugger -> Process options

ida调试so

 

Debugger -> Attach to process

选择要进行调试的APP

ida调试so

一路ok

然后ida左上角点击运行

紧接着命令行运行

jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=XXXX(DDMS查询到的端口号,一般ddms进行转发后的端口都是8700,此命令行用来恢复程序运行)

ida调试so

 

在apk中任意输入数字

ida调试so

点击按钮,发现ida已经断下

ida调试so

就可以F8单步走啦

以上为先下断点再attach,运行后可以直接停在断点处

 

也可以先attach再下断点,这样不需要纠结手机用哪个对应cpu的so文件:

对应教程在https://www.cnblogs.com/ddms/p/8820044.html,的第一种方法

相关文章:

  • 2021-11-27
  • 2021-12-25
  • 2021-12-04
  • 2021-10-26
  • 2021-11-04
  • 2021-06-10
  • 2021-07-24
  • 2021-09-17
猜你喜欢
  • 2021-11-22
  • 2021-12-04
  • 2021-05-03
  • 2021-08-27
  • 2021-07-21
  • 2021-09-10
  • 2022-01-11
相关资源
相似解决方案