【Android逆向实战系列】使用IDA Pro对SO文件进行动态调试

准备工作

  • 准备工作
  • 一台Mac os/Window系统的电脑
  • 一部root的手机
  • 一条数据线
  • IDA Pro
  • adb
  • 需要进行调试的APK

演示环境

  • Mac os系统的电脑
  • 小米5 Max
  • IDA Pro 7.0 64位

开始

  1. 将手机通过数据线连接到电脑
  2. 将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

  1. 给android_server赋予755权限
adb shell chmod 755 /data/local/tmp/android_server64
  1. 启动调试服务器
adb shell su -c "/data/local/tmp/android_server64"

注:调试服务器的默认监听端口为:23946

5.进行端口转发

adb forward tcp:23946 tcp:23946
  1. 在手机上运行要启动的app,并打开IDA pro
  2. 依次点击菜单栏上的"debugger - attach - remote Armlinux/android debugger",在弹出的窗口中填充以下内容:
Hostname:localhost
Port:23946
image

8.在弹出的窗口中选择要调试的app的数据包名,然后点击"ok"按钮

image
  1. 这个时候ida会把app挂起,在ida界面按下ctrl+s找到我们需要调试的so文件,同时记录下该文件的加载基址。然后点击"OK"按钮关闭对话框。
  2. 按下快捷键“G”,然后输入基址+文件偏移所得地址,点击“OK”,就跳转到so文件需要下断点的位置。这个时候按下F2设置断点。当app执行到此处时便可以断下来了。

更多好文点击访问https://blog.52zhuanke.cn/

你可能感兴趣的:(【Android逆向实战系列】使用IDA Pro对SO文件进行动态调试)