app动态调试so层环境搭建
一、首先打开IDA 中dbgsrv文件夹,将里面的 android_server 传输到手机上
切换到IDA文件路径中D:\Program Files (x86)\IDA 6.8\dbgsrv
adb push android_server /data/local/tmp
二、运行android_server
C:\Users\cccv20>adb shell
shell@shamu:/ $ su
su
root@shamu:/ # cd /data/local/tmp
cd /data/local/tmp
1|root@shamu:/data/local/tmp # chmod 777 android_server
chmod 755 android_server
root@shamu:/data/local/tmp # ./android_server
./android_server
IDA Android 32-bit remote debug server(ST) v1.19. Hex-Rays (c) 2004-2015
Listening on port #23946...
Android_server提示端口被占用
如果Android_server提示端口被占用可以执行以下命令
root@shamu:/data/local/tmp # ps | grep android_server
root@shamu:/data/local/tmp # kill -s 9 23031
三、新打开另一个CMD窗口,端口转发
运行以下命令
adb forward tcp:23946 tcp:23946
四、运行IDA,设置Debugger
选择Remote ARMLinux/Android debugger
hostname:主机号(默认127.0.0.1)
port:端口号(之前android_server运行时的端口号或者端口转发的端口号
Debugger里面勾选三项
选择Debugger --> 点击 Debug options 按钮设置
如果是 arm linux 虚拟机和真机,选择 Remote ARM Linux/Android debugger ,如果是 x86 的虚拟机,则选择 Remote Linux Debugger
选择调试app包名
点击 OK ,就会连接到虚拟机,如果连接成功,会弹出一个窗口,上面显示了虚拟机中运行的进程