404nofound 发表于 2021-9-13 11:16

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)
接下来就可以动态调试了


小木曾雪菜 发表于 2021-9-13 16:27

ida调试必须要root吧?

无闻无问 发表于 2021-9-13 18:11

大神,没尝试过,是调试的是so还是整个apk?

404nofound 发表于 2021-9-13 18:40

小木曾雪菜 发表于 2021-9-13 16:27
ida调试必须要root吧?

对必须要root

bjxiaoyao 发表于 2021-9-13 22:30

内容精彩,感谢分享。

goda 发表于 2021-9-13 22:43

谢谢分享

mumuchenjun 发表于 2021-9-13 23:01

谢谢大佬分享

bennyt 发表于 2021-9-14 02:30

过来学习一下了,支持

yuleniwo 发表于 2021-9-14 08:33

谢谢分享学习资料

fry1997921 发表于 2021-9-14 08:55

感谢大神分享经验,学习了
页: [1] 2
查看完整版本: IDA7.5安卓10动态调试