本帖最后由 千百度° 于 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 -n com.example.javandk1/.MainActivity
2、Ida选择Linux/Android debugger
3、填入Host和Port
4、选择调试的APP
5 、加载完毕后,设置ida三钩、
6、DDMS查看挂机的端口
7、jdb放开调试
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8600
接下来就可以动态调试了
|