objdump
{{Short description|Program for displaying information about object files}}
{{lowercase title|title=objdump}}
{{more citations needed |date=April 2025}}
{{Infobox software
| name = objdump
| logo =
| screenshot =
| screenshot size =
| caption =
| author =
| developer =
| released =
| latest release version =
| latest release date =
| operating system = Unix and Unix-like
| genre = Command
| license = GNU GPL
| website =
}}
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|date=July 2023}} otool and nm perform analogous functions for Mach-O files.{{cite web |url=https://developer.apple.com/forums/thread/715385 |title=An Apple Library Primer |publisher=Apple Developer Forums}}{{cite web |url=https://llvm.org/docs/CommandGuide/llvm-otool.html |title=llvm-otool - Mach-O dumping tool |publisher=LLVM Reference}}
Example
For example,
$ objdump -D -M intel file.bin
This disassembles the file file.bin
, showing its assembly code in Intel syntax.
Example output:
4004ed
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
40051d: 8b 05 15 0b 20 00 mov eax,DWORD PTR [rip+0x200b15] # 601038
400523: 83 e8 01 sub eax,0x1
400526: 89 05 0c 0b 20 00 mov DWORD PTR [rip+0x200b0c],eax # 601038
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
400536: 39 45 ec cmp DWORD PTR [rbp-0x14],eax
400539: 7c e2 jl 40051d
40053b: 5d pop rbp
40053c: c3 ret
See also
{{Portal|Computer programming}}
References
{{Reflist}}
External links
- {{man|1|objdump|die.net}}
- {{man|1|readelf|die.net}}
- [https://metacpan.org/pod/Binutils::Objdump Binutils::Objdump] - Perl interface to objdump
Category:Unix programming tools
{{unix-stub}}
{{foss-stub}}