바이너리 실행 파일을 디스어셈블하고 해당 어셈블리 코드를 추출하려면 디스어셈블러를 사용할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!