ida 动态调试so

ida 动态调试 so文件

在ida目录下有dbgsrv文件夹,选择合适的

真机用android_server/android_server64,模拟器用android_x86_server/android_x64_server

adb push android_x64_server /data/local/tmp

进入adb shell

adb shell
su
chmod 777 /data/local/tmp/android_x64_server
./data/local/tmp/android_x64_server

转发端口,ida默认端口是23946

adb forward tcp:23946 tcp:23946

手机/模拟器打开app

  • 方法1

    先打开so文件,debug->Remote linux ->Process option 中host 127.0.0.1

    再attch附加

  • 方法2

​ 打开需调试文件对应的ida,degun->attch

​ 模拟器选Remote linux,真机用Remote ARM android/Linux

在列表中找到包名,可用快捷键ctrl+F 搜索

打开后,在右侧 找到Module 找到so需调试的so文件,找不到的注意java代码中的,让他加载有就有了

static {
        System.loadLibrary("JniLib");
    }

注: 在apk lib中有多个文件夹如v8,v7,x86,x84,如遇到ida 反编译不便解读,可尝试换不同的so文件