I am trying to decompile a Android ARM native binary using Hex-Rays IDA Pro. IDA detects the possible formats as
- ELF for ARM (Shared object)
- Binary file
If I choose ELF for ARM (Shared object), then it correctly decompiles and detect most of the standard functions like tan/sin/cos etc. But when I try to run the remote android debugger, I am getting the alert messages
- Input file is a dynamic library, it cannot be run by itself. Please specify the host application.
- The file can't be loaded by the debugger plugin. Please verify that the parameters are valid.
If I select Binary file, then it is not decompiling correctly. Also remote android debugger option is not listed in debuggers list.
I am able to execute the binary file directly on an Android ARM emulator.
What am I doing wrong? How can I debug a ELF for ARM binary executable file with IDA pro?
Edit: I have already tried with android_server
running on an AVD and a physical device. When I try to connect [ELF for ARM (Shared object)], I can see the following output in android_server
=========================================================
[7] Accepting connection from 127.0.0.1...
[7] Closing connection from 127.0.0.1...
Are all ARM binary executables detected as shared object? Or is my executable file being misidentified as a .so
file?