
C로 작성된 최소한의 ELF 검사기로 빠른 바이너리 레이아웃 검사 도구
대화형 REPL을 갖춘 최소 ELF 분석기, 빠른 바이너리 분석용
readelf나 objdump를 대체하지 않습니다. 일반적인 리버스 엔지니어링 질문에 대한 빠르고 집중된 도구일 뿐입니다.
또한 C로 작성된 읽기 쉬운 ELF 파싱 예제 역할을 합니다. 스트립된 바이너리와 세그먼트 전용 바이너리도 적절히 처리합니다.
(elfpeek:ls).dynsym 및 .symtab 모두 지원<elf.h>만 필요make
선택 사항: REPL에서 명령 기록을 위해 libreadline-dev를 설치하세요.
./elfpeek
./elfpeek /bin/ls # 헤더, 섹션, 심볼 표시
./elfpeek /bin/ls 0x6760 # 주소 해석
섹션:
.text, .plt).data, .bss).rodata)HEX 덤프:
00)20-7E)01-1F)80-FF)tests/ 디렉터리에 샘플 ELF 파일이 포함되어 있습니다:
relocs 명령어 – 재배치 정보 표시got/plt 분석MIT
| 명령어 | 별칭 | 설명 |
|---|
open <path> | o | ELF 파일 열기 |
close | 현재 파일 닫기 | |
info | i | ELF 헤더 표시 |
sections | s | 섹션 헤더 목록 |
phdr | p | 프로그램 헤더 목록 |
entry | e | 진입점 표시 |
symbols [dyn|sym] | sym | 심볼 테이블 덤프 |
resolve <addr> | r | 가상 주소 해석 |
dump <.sec|@off> [n] | d | HEX 덤프 (섹션 또는 오프셋) |
help | ? | 도움말 표시 |
quit | q | 종료 |
| 파일 | 설명 |
|---|
elf32_le.bin | 32비트 리틀 엔디언 (i386) |
elf32_be.bin | 32비트 빅 엔디언 (PowerPC) |
elf64_be.bin | 64비트 빅 엔디언 (PowerPC64) |
elf64_le_pie.bin | PIE 실행 파일 |
elf64_le_static.bin | 정적 링크 |
elf64_le_dynsym_only.bin | 스트립됨, dynsym만 있음 |
elf64_le_so.bin | 공유 오브젝트 |
elf64_le_segments_only.bin | 섹션 헤더 없음 |