一、Android Server 准备工作
- 根据手机位数,选择对应的android_server(ida/dbgsrv)
- 将其push到手机(adb push android_server /data/local/tmp)
- 赋予执行权限(adb shell chmod 777 an_ser)
二、直接附加调试
- 启动Android_server
- 端口转发(adb forward tcp:23946 tcp:23946)
- 启动欲调试APK(adb shell am start -n {pkgname}/{Activity})
- 启动IDA,打开debugger->attach->remote Armlinux/andoid debugger
- 填写host和端口,选择进程,attach
二、反反调试调试
- 启动Android_server
- 端口转发(adb forward tcp:23946 tcp:23946)
- 调试模式启动Apk(adb shell am start -D -n {pkgname}/{Activity})
- 启动IDA,打开debugger->attach->remote Armlinux/andoid debugger
- 填写host和端口,选择进程,attach
- 端口转发(adb forward tcp:8700 jdwp:{pid}) 或者 打开DDMS,选择对应进程
- JDB桥接(jdb -connect “com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700”)
- 下断点,按F9运行
RUN – 启动一个新的进程 调试比如 Android下的二进制程序
ATTACH – 附加到一个已经运行到进程 调试比如 运行的APK