objdump -d 오브젝트 파일을 디스어셈블하여 출력해준다.
objdump
objdump는 GNU 바이너리 유틸리티의 일부로서, 라이브러리, 컴파일된 오브젝트 모듈, 공유 오브젝트 파일, 독립 실행파일등의 바이너리 파일들의 정보를 보여주는 프로그램이다. objdump는 ELF 파일을 어셈블리어로 보여주는 역어셈블러로 사용될 수 있다.
예를 들자면 오브젝트 파일을 역어셈블 하기 위해서 아래와 같이 쓴다:
objdump -Dslx file |
objdump는 오브젝트 파일들의 내용을 읽을때 BFD 라이브러리를 사용한다. readelf(GNU Binutils에 역시 포함되어 있다.)는 objdump처럼 ELF 파일들을 읽을 수 있지만 BFD 라이브러리를 사용하지 않는다.
GNU 프로젝트는 높은 기능을 갖춘 objdump 프로그램을 GNU Binutils 패키지에 포함시키고 있다.
출력 예제
$ objdump -D -M intel file.bin | grep main.: -A20 |
4004ed: 55 push rbp |
objdump -d
Description
objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.
objfile... are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.
Options
The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-r,-R,-s,-S,-t,-T,-V,-x must be given.
-d--disassembleDisplay the assembler mnemonics for the machine instructions from objfile. This option only disassembles those sections which are expected to contain instructions.
출처 :
'Reverse Engineering' 카테고리의 다른 글
Visual Studio 2015 "설치 패키지가 없거나 손상되었습니다." 설치 방법 (0) | 2021.06.06 |
---|---|
어셈블리어) R로 시작하는 레지스터 (0) | 2020.11.20 |
ld -I/lib/ld-linux.so.2 명령 (0) | 2020.10.19 |
댓글