The quiter you become,the more you are able to hear!

so文件的调试方法

Author: geneblue

Blog: https://geneblue.github.io/

0X01 基本步骤

这里介绍使用IDA对so文件的动态调试,其他调试工具的使用,以后再做补充。

IDA从6.1版本开始支持Android原生程序的动态调试。

  • 将ida目录下的android_server拷贝到android的目录中

    adb push android_server /data/local/tmp/  

    adb shell 进入模拟器    

    cd /data/local/tmp/       chmod 755 android_server    

    ./android_server

    注意程序的执行必须要在root权限下,不然在attach的时候找不到要附加的so文件

    可以看到正在监听端口 23946

  • 端口转发

    adb forward tcp:23946 tcp:23946

    将pc上端口数据转发到手机的端口

  • 调试前配置

    在debugger中选择attach并选择Remote ARMLinux/Android debugger选项,在出现的配置窗口中填上localhost 并选择端口23946

  • 选取so文件

    配置完毕后,在出现的文件选择列表中,选取要attach的文件即可。

0X02 注意

  • 使用32位的IDA,64位IDA在连接android_server的时候会出现incompatible debugging server的错误哦

  • 以root权限运行android_server,不然只能attach上极少的进程