我有一个 ELF 二进制文件,它只包含程序头表中的两个 LOAD 段,一个用于代码,一个用于数据。readelf -a
告诉我没有节标题。
如果我尝试使用 ARM cross binutils 在我的 amd64 机器上反汇编 ARM 二进制文件,它不会给我正确的输出。然而,据我了解,二进制文件的架构不应该与这个问题相关,因为这个问题与 ELF 相关。
$ file ./binary
./binary: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, stripped
$ arm-linux-gnueabi-objdump -d ./binary
./binary: file format elf32-littlearm
$ arm-linux-gnueabi-objdump -x ./binary
./binary: file format elf32-littlearm
./binary
architecture: arm, flags 0x00000102:
EXEC_P, D_PAGED
start address 0x0004c8d8
Program Header:
LOAD off 0x00000000 vaddr 0x00010000 paddr 0x00010000 align 2**16
filesz 0x0003d27e memsz 0x0003d27e flags r-x
LOAD off …
Run Code Online (Sandbox Code Playgroud)