使用IDA Pro调试Android原生程序一般有远程运行与远程附加两种方式,远程运行调试用来调试原生可执行程序,远程附加调试用来调试Android原生动态链接库。
1. 调试原生可执行程序
过程:
(1).将本次实验的原生可执行程序实例test复制到Android设备或者模拟器中,我们的实验以目录data/local/tmp为例,同时将IDA Pro软件目录的android_server也复制到同一目录data/local/tmp中。
复制如下:
adb push E:\eclipse\eclipseworkspace\JNI\libs\armeabi-v7a\test (原生可执行程序位置) /data/local/tmp
adb push F:\ida\dbgsrv\android_server(IDA Pro软件目录下的android_server) /data/local/tmp
执行完后可以查看一下是否复制成功:
给两个文件加上可执行权限
adb shell chmod 755 /data/local/tmp/test
adb shell chmod 755 /data/local/tmp/android_server
接着执行“/data/local/tmp/android_server”,启动IDA Pro的Android调试服务器,如下图所示
调试服务器已经启动,并且监听了23946号端口
打开另一个命令行进行端口转发:
adb forward tcp:23