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 ,就会连接到虚拟机,如果连接成功,会弹出一个窗口,上面显示了虚拟机中运行的进程

posted @ 2021-03-04 18:50  莫贞俊晗  阅读(231)  评论(0编辑  收藏  举报