>  기사  >  백엔드 개발  >  objdump를 사용하여 바이너리 실행 파일을 분해하고 Linux에서 어셈블리 코드를 얻으려면 어떻게 해야 합니까?

objdump를 사용하여 바이너리 실행 파일을 분해하고 Linux에서 어셈블리 코드를 얻으려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-10-28 18:52:02741검색

How can I use objdump to disassemble a binary executable and get the assembly code in Linux?

Linux에서 바이너리 실행 파일을 디스어셈블하여 어셈블리 코드 얻기

바이너리 실행 파일을 디스어셈블하고 해당 어셈블리 코드를 추출하려면 디스어셈블러를 사용할 수 있습니다.

objdump 사용

Linux에서 가장 일반적으로 사용되는 디스어셈블러 중 하나는 GNU 개발 도구의 일부인 objdump입니다. Objdump는 이 목적을 위해 간단한 명령을 제공합니다.

$ objdump -d /path/to/binary

여기서 /path/to/binary는 분해하려는 바이너리의 위치를 ​​나타냅니다.

이 명령을 실행하면 objdump는 분해된 어셈블리 코드를 읽을 수 있는 형식으로 표시합니다. 출력 예는 다음과 같습니다.

080483b4 <main>:
 80483b4:   8d 4c 24 04             lea    0x4(%esp),%ecx
 80483b8:   83 e4 f0                and    xfffffff0,%esp
 80483bb:   ff 71 fc                pushl  -0x4(%ecx)
 80483be:   55                      push   %ebp
 80483bf:   89 e5                   mov    %esp,%ebp
 80483c1:   51                      push   %ecx
 80483c2:   b8 00 00 00 00          mov    x0,%eax
 80483c7:   59                      pop    %ecx
 80483c8:   5d                      pop    %ebp
 80483c9:   8d 61 fc                lea    -0x4(%ecx),%esp
 80483cc:   c3                      ret    
 80483cd:   90                      nop
 80483ce:   90                      nop
 80483cf:   90                      nop

이 출력은 명령어, 메모리 주소 및 레지스터 사용법을 포함하여 바이너리의 자세한 어셈블리 코드 표현을 제공합니다.

위 내용은 objdump를 사용하여 바이너리 실행 파일을 분해하고 Linux에서 어셈블리 코드를 얻으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.