objdump
Operating systemUnix and Unix-like
TypeCommand
LicenseGNU GPL

objdump is a command-line program for displaying various information about object files on Unix-like operating systems. For instance, it can be used as a disassembler to view an executable in assembly form. It is part of the GNU Binutils for fine-grained control over executables and other binary data. objdump uses the BFD library to read the contents of object files. Similar utilities are Borland TDUMP, Microsoft DUMPBIN and readelf.

On certain platforms (e.g. macOS), the objdump binary may actually be a link to LLVM's objdump, with different command-line options and behavior.[citation needed] otool and nm perform analogous functions for Mach-O files.[1][2]

Example

edit

For example,

$ objdump -D -M intel file.bin

This disassembles the file file.bin, showing its assembly code in Intel syntax.

Example output:

  4004ed	<main>:
  4004ed:	55                   	push   rbp
  4004ee:	48 89 e5             	mov    rbp,rsp
  4004f1:	c7 45 ec 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          	add    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     40051d <main+0x30>
  40053b:	5d                   	pop    rbp
  40053c:	c3                   	ret

See also

edit

References

edit
  1. ^ "An Apple Library Primer". Apple Developer Forums.
  2. ^ "llvm-otool - Mach-O dumping tool". LLVM Reference.
edit

📚 Artikel Terkait di Wikipedia

Readelf

systems, similar to objdump. It is part of the GNU binutils. Both programs are capable of displaying the contents of ELF format files. objdump sees an ELF file

Executable and Linkable Format

under Solaris and FreeBSD. objdump provides a wide range of information about ELF files and other object formats. objdump uses the Binary File Descriptor

Ldd (Unix)

suggests to use the following command using the objdump and grep utilities as alternative: user@home ~/ $ objdump -p /path/program | grep NEEDED user@home ~/

Soname

command to get the information from within the library file using objdump: $ objdump -p libx.so.1.3 | grep SONAME SONAME libx.so.1 Application programming

List of assembly software and tools

GitHub. Retrieved May 10, 2026. "objdump". GNU Binary Utilities. GNU Project. Retrieved May 10, 2026. "llvm-objdump - LLVM's object file dumper". LLVM

Core dump

with specialised tools such as elfdump on Unix and Unix-like systems, objdump and kdump on Linux, IPCS (Interactive Problem Control System) on IBM z/OS

Disassembler

standalone disassembler distributed along with the debugger. For example, objdump, part of GNU Binutils, is related to the interactive debugger gdb. Binary

ModR/M

computed as if SCALE was 0. Some assemblers/disassemblers (such as gas/objdump from GNU Binutils version 2.19 or later) support the use of the eiz/riz