IDA7.5安卓10动态调试
本帖最后由 千百度° 于 2021-9-14 10:41 编辑# 一、调式环境
1、IDA Pro 7.5
2、Pixel 2 XL 安卓10
# 二、环境准备
找到 IDA目录下的文件夹dbgsrv中的android_server,然后推到手机 /data/local/tmp目录
```
PS D:\IDA\dbgsrv> adb push .\android_server/data/local/tmp
.\android_server: 1 file pushed, 0 skipped. 32.6 MB/s (786868 bytes in 0.023s)
```
然后切换到对应目录,给予777权限并启动,android_server默认端口23946
```
PS C:\Users\Admin> adb shell
taimen:/ $ su
taimen:/ # cd /data/local/tmp/
127|taimen:/data/local/tmp # chmod 777 android_server
//重要:安卓10 IDA Pro 7.5 要用这种方式启动android_server
taimen:/data/local/tmp # IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so /data/local/tmp/android_server
IDA Android 32-bit remote debug server(ST) v7.5.26. Hex-Rays (c) 2004-2020
Listening on 0.0.0.0:23946...
```
#### 特别注意:安卓10 IDA Pro 7.5 要用这种方式启动android_server
#### IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so /data/local/tmp/android_server
转发端口
```
PS C:\Users\Admin> adb forward tcp:23946 tcp:23946
```
# 三、动态调试
### 1、调试模式挂起app
```
adb shell am start -D -ncom.example.javandk1/.MainActivity
```
### 2、Ida选择Linux/Android debugger
![在这里插入图片描述](https://img-blog.csdnimg.cn/297ecb84fe634a2c9d06cffa0935882a.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_18,color_FFFFFF,t_70,g_se,x_16#pic_center)
### 3、填入Host和Port
![在这里插入图片描述](https://img-blog.csdnimg.cn/86478781ac5b4ecd9130ea7f121b1258.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_11,color_FFFFFF,t_70,g_se,x_16#pic_center)
### 4、选择调试的APP
![在这里插入图片描述](https://img-blog.csdnimg.cn/580c13d1bb9844b9a37be9e411bdd1e0.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_17,color_FFFFFF,t_70,g_se,x_16#pic_center)
### 5 、加载完毕后,设置ida三钩、
![在这里插入图片描述](https://img-blog.csdnimg.cn/215ec8fb4a904960b030c6b856ef2995.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/ceb08241f9dd452fa2238027ed5e289c.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_13,color_FFFFFF,t_70,g_se,x_16#pic_center)
### 6、DDMS查看挂机的端口
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a72853ad6c4a56a85a66b6f3b56a47.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
### 7、jdb放开调试
```bash
jdb -connectcom.sun.jdi.SocketAttach:hostname=localhost,port=8600
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/c767699cec95492ba052b407a0294dc4.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/670e0476d2ef4b0181aeb031906b1794.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBANDA0Tm9vRm91bmQ=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
接下来就可以动态调试了
ida调试必须要root吧? 大神,没尝试过,是调试的是so还是整个apk? 小木曾雪菜 发表于 2021-9-13 16:27
ida调试必须要root吧?
对必须要root 内容精彩,感谢分享。 谢谢分享 谢谢大佬分享 过来学习一下了,支持 谢谢分享学习资料 感谢大神分享经验,学习了
页:
[1]
2