Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menggunakan objdump untuk membuka binari boleh laku dan mendapatkan kod pemasangan dalam Linux?

Bagaimanakah saya boleh menggunakan objdump untuk membuka binari boleh laku dan mendapatkan kod pemasangan dalam Linux?

DDD
DDDasal
2024-10-28 18:52:02820semak imbas

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

Menyahhimpun Binary Executable dalam Linux untuk Mendapatkan Kod Himpunan

Untuk membuka binari boleh laku dan mengekstrak kod pemasangannya, kami boleh menggunakan pembongkar.

Menggunakan objdump

Salah satu pembongkar yang paling biasa digunakan dalam Linux ialah objdump, sebahagian daripada alatan pembangunan GNU. Objdump menyediakan arahan yang mudah untuk tujuan ini:

$ objdump -d /path/to/binary

di mana /path/to/binary mewakili lokasi binari yang anda ingin nyahhimpun.

Setelah anda menjalankan arahan ini, objdump akan paparkan kod pemasangan yang dibuka dalam format yang boleh dibaca. Berikut ialah contoh output:

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

Output ini menyediakan perwakilan kod pemasangan terperinci bagi binari, termasuk arahan, alamat memori dan penggunaan daftar.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan objdump untuk membuka binari boleh laku dan mendapatkan kod pemasangan dalam Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn