objdump es un programa de línea de comandos para mostrar información diversa sobre archivos de objetos en sistemas operativos similares a Unix . Por ejemplo, se puede utilizar como desensamblador para ver un ejecutable en forma de ensamblaje. Es parte de GNU Binutils para un control detallado sobre ejecutables y otros datos binarios. objdump usa la biblioteca BFD para leer el contenido de los archivos objeto. Utilidades similares son Borland TDUMP , Microsoft DUMPBIN y readelf .
Sistema operativo | Unix y similar a Unix |
---|---|
Tipo | Mando |
Licencia | GNU GPL |
Tenga en cuenta que en ciertas plataformas (por ejemplo, macOS ), el binario objdump puede ser en realidad un enlace al objdump de llvm , con diferentes opciones de línea de comandos y comportamiento.
Ejemplo
Por ejemplo,
$ objdump -D -M archivo intel.bin | grep principal .: -A20
Esto realiza el desmontaje en el archivo «file.bin», con el código ensamblador mostrado en sintaxis Intel . Luego lo redirigimos a grep , que busca la función principal y muestra 20 líneas de su código.
Salida de ejemplo:
4004ed: 55 empuje RBP 4004ee: 48 89 e5 mov RBP , RSP 4004f1: c7 45 CE 00 00 00 00 mov DWORD PTR [ RBP - 0x14 ], 0x0 4004f8: c7 45 f0 01 00 00 00 mov DWORD PTR [ RBP - 0x10 ] , 0x1 4004ff: c7 45 f4 02 00 00 00 mov DWORD PTR [ RBP - 0xc ], 0x2 400506: c7 45 f8 03 00 00 00 mov DWORD PTR [ RBP - 0x8 ], 0x3 40050d: c7 45 fc 04 00 00 00 mov DWORD PTR [ rbp - 0x4 ], 0x4 400514: c7 45 ec 00 00 00 00 mov DWORD PTR [ rbp - 0x14 ], 0x0 40051b: eb 13 jmp 400530 < main + 0x43 > 40051d: 8b 05 15 0b 20 00 mov eax , DWORD PTR [ rip + 0x200b15 ] # 601038 < globalA > 400523: 83 e8 01 sub eax , 0x1 400526: 89 05 0c 0b 20 00 mov DWORD PTR [ rip + 0x200b0c ], eax # 601038 < globalA > 40052c: 83 45 ec 01 agregar DWORD PTR [ rbp - 0x14 ], 0x1 400530: 8b 05 02 0b 20 00 mov eax , DWORD PTR [ rip + 0x200b02 ] # 601038 < globalA > 400536: 39 45 ec cmp DWORD PTR [ rbp - 0x14 ], eax 400539: 7c e2 jl 40051 d < principal + 0x30 > 40053b: 5d pop rbp 40053c: c3 ret 40053d: 0f 1f 00 nop DWORD PTR [ rax ]