objdump (parte de GNU Binutils ) es un programa de computadora para mostrar información diversa sobre archivos de objetos . Por ejemplo, objdump se puede usar para analizar [1] encabezados o desensamblar un archivo ejecutable .
Ejemplo de desmontaje:
$ objdump -D -M intel file.bin | grep principal.: -A20Aquí, el archivo "file.bin" está desmontado, con sintaxis Intel. Debido a que la salida de la utilidad es demasiado grande, en el ejemplo se pasa como entrada al comando grep, que busca la función principal e imprime 20 líneas de su código.
Salida de muestra:
4004ed: 55 empujar rbp 4004ee: 48 89 e5 mov rbp , rsp 4004f1: c7 45 ec 00 00 00 00 mov DWORD PTR [ rbp - 0x14 ], 0x0 4004f8: c7 ,PTRDWORD-0bp movr[45 f0 01 00 00 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 mov [ DWORD PTR 04 0D0 mov rbp - 0x4 ] , 0x4 400514 : c7 45 ec 00 00 00 00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 agregar DWORD PTR [ rbp - 0x14 ] , 0x1 400530: 8b 05 02 0b [ eadrip PTR mov 20 00 + 0x200b02 ] # 601038 < globalA > 400536 : 39 45 ec cmp DWORD PTR [ rbp - 0x100 ], 5 eax 4 7c e2 jl 40051 d < principal + 0x30 > 40053b : 5d pop rbp 40053c: c3 ret 40051d DWORD PTR [ rax ]