readelf - 직접 ELF를 읽기 위한 툴

readelf 는 BFD 라이브러리(Binary File Descriptor Library : 다양한 형식의 오브젝트 파일의 호환성을 위한 GNU 프로젝트의 주 메커니즘.)를 이용하지 않고 직접 ELF를 읽기 위한 툴이다. 그래서 objdump 보다 상세한 정보를 얻을 수 있다. ELF 헤더 출력 -h : ELF 파일 헤더 -l : 프로그램 헤더 -S : 섹션 헤더 -e : 위 세 가지 헤더 ELF 정보 출력 -s : 심볼 테이블 -r : 재배치 정보 -d : 동적 세그먼트 -V : 버전 섹션 -A : 아키텍처 의존정보 -I(아이) : 버킷 리스트 길이 히스토그램 -a : 모든 헤더 및 정보 -n : 코어 노트(core notes) -u : unwind 정보 일반적으로 심볼 정보는 심볼 섹션에 있는 심볼 정보를 이용하지만 -D 옵션을 사용하면 동적 섹션에 있는 심볼 정보를 이용 ELF 섹션 덤프 -x 옵션을 이용해 지정한 섹션의 내용을 덤프할 수 있다. 섹션은 섹션 번호로 표시하고, -S 옵션으로 출력된 섹션 헤더에 섹션 번호가 표시된다. ex) # readelf -S /bin/ls .interp의 섹션 번호는 1이고, 내용을 보기위해서 다음과 같이 한다. # readelf -x1 /bin/ls