프로그램 헤더 테이블에 두 개의 LOAD 섹션(코드용 섹션과 데이터용 섹션)만 포함된 ELF 바이너리 파일이 있습니다. readelf -a
섹션 제목이 없다고 뜹니다.
ARM 크로스 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 0x00005c78 vaddr 0x00085c78 paddr 0x00085c78 align 2**16
filesz 0x00000000 memsz 0x00000000 flags rw-
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**4
filesz 0x00000000 memsz 0x00000000 flags rw-
private flags = 5000400: [Version5 EABI] [hard-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
SYMBOL TABLE:
no symbols
objdump가 ELF 세그먼트를 분해하도록 하는 방법이 있습니까?