我正在尝试使用 Hex-Rays IDA Pro 反编译 Android ARM 原生二进制文件。IDA 检测可能的格式为
- ELF for ARM(共享对象)
- 二进制文件
如果我为 ARM(共享对象)选择 ELF,那么它会正确反编译并检测大多数标准函数,例如 tan/sin/cos 等。但是当我尝试运行远程 android 调试器时,我收到警报消息
- 输入文件是动态库,不能自行运行。请指定主机应用程序。
- 调试器插件无法加载该文件。请验证参数是否有效。
如果我选择二进制文件,则它无法正确反编译。此外,远程 android 调试器选项未列在调试器列表中。
我可以直接在 Android ARM 模拟器上执行二进制文件。
我究竟做错了什么?如何使用 IDA pro 调试 ARM 二进制可执行文件的 ELF?
编辑:我已经尝试过android_server
在 AVD 和物理设备上运行。当我尝试连接 [ELF for ARM (Shared object)] 时,可以看到以下输出android_server
=========================================================
[7] Accepting connection from 127.0.0.1...
[7] Closing connection from 127.0.0.1...
是否所有 ARM 二进制可执行文件都被检测为共享对象?还是我的可执行文件被错误识别为.so
文件?