准备工作
- 准备工作
- 一台Mac os/Window系统的电脑
- 一部root的手机
- 一条数据线
- IDA Pro
- adb
- 需要进行调试的APK
演示环境
- Mac os系统的电脑
- 小米5 Max
- IDA Pro 7.0 64位
开始
- 将手机通过数据线连接到电脑
- 将IDA安装目录下的dbgsrv目录下的android_server发送到手机中。
adb shell push /Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/dbgsrv/android_server64 /data/local/tmp
注:此处的android_server的架构根据打开的IDA架构一一对应的,即IDA打开的是64位,则推送64位的android_server
- 给android_server赋予755权限
adb shell chmod 755 /data/local/tmp/android_server64
- 启动调试服务器
adb shell su -c "/data/local/tmp/android_server64"
注:调试服务器的默认监听端口为:23946
5.进行端口转发
adb forward tcp:23946 tcp:23946
- 在手机上运行要启动的app,并打开IDA pro
- 依次点击菜单栏上的"debugger - attach - remote Armlinux/android debugger",在弹出的窗口中填充以下内容:
Hostname:localhost
Port:23946
8.在弹出的窗口中选择要调试的app的数据包名,然后点击"ok"按钮
- 这个时候ida会把app挂起,在ida界面按下ctrl+s找到我们需要调试的so文件,同时记录下该文件的加载基址。然后点击"OK"按钮关闭对话框。
- 按下快捷键“G”,然后输入基址+文件偏移所得地址,点击“OK”,就跳转到so文件需要下断点的位置。这个时候按下F2设置断点。当app执行到此处时便可以断下来了。
更多好文点击访问https://blog.52zhuanke.cn/