使用IDA调试执行android调试

1首先在IDA的dbgsrv下面查找android_server找到对应需要的版本。

使用IDA调试执行android调试_第1张图片

2将android_server放到android设备的目录下。并且以root方式启动

android_server会启动一个监听端口和远端的gdb通信。默认为23946

使用IDA调试执行android调试_第2张图片


如果 调试机器和被调试android机器不再一个局域网 ping不通的话。需要用adb将这个端口转发到本机端口上来。

adb forward tcp:远端设备端口号(进行调试程序端) tcp:本地设备端口(被调试程序端)

我这里在一个局域网。所以就不forward了


(建议ANDROID上设置程序被调试。

这里就不截图了。通过打开ANDROID的USB调试模式。里面有一个选择调试应用。选择你要调试的app。主要是我调试的时候偶尔出问题。设置了这个以后问题减少了。)

3打开IDA 选择

使用IDA调试执行android调试_第3张图片


使用IDA调试执行android调试_第4张图片

填写ANDROID设备的IP以及android_server端口号。如果是forwarded的端口就填写本机的就行了。


接下来你就可以看到 所有的进程了

使用IDA调试执行android调试_第5张图片

选择对应的进程就可以执行调试了。



最关键的是。有时候调试的过程中会卡死。然后android会提醒你是否要关闭这个进程。并且调试器会不断受到LINUX的33信号


我们可以选择在 Debugger ->debugger optionl中设置

使用IDA调试执行android调试_第6张图片


使用IDA调试执行android调试_第7张图片


使用IDA调试执行android调试_第8张图片


右键选择Insert 可以对相关的信号设置 为Silent do not warn or log以及 不要Suspend program 等等。接下来就是调试过程了






你可能感兴趣的:(android)