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文件