为什么android上的IDA调试器不显示所有线程?

逆向工程 艾达 调试 安卓 调试器
2021-06-17 18:48:51

我的IDA版本是IDA Pro 7.5 SP2. 我正在尝试调试.so文件中的.apk文件。

这是我所做的:

  • 从下载x86_64系统映像android模拟器android studio
  • .apk在模拟器上安装并运行它。
  • 推动android_x64_server内部/dbgsrvIDA安装文件夹到/data模拟器的文件夹中。
    ( adb push ida-folder/dbgsrv/android_x64_server /data)
  • 执行以下命令:
adb shell
cd /data
chmod 777 ./android_x86_server  
./android_x86_server
  • 回到windows终端,然后执行 adb forward tcp:23946 tcp:23946
  • 打开IDA Pro,选择remote linux debugger附加到apk的进程

而“线程”窗口只显示一个线程,这是不正确的,因为当我ps -T -p [pid]在 adb shell 中执行时,发现该进程是一个多线程应用程序。

这是屏幕截图:

在此处输入图片说明

1个回答

自 Android 10.0 起,它已将其一些重要的库移至不同的路径(包括libc.so),
因此 IDA 无法像以前那样自动找到它的位置。

您需要执行export IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so以告诉 IDA 在哪里libc.so可以找到。