Objdump Comprehensive Cheatsheet
Installation Instructions
# Using Chocolatey
choco install binutils
# Using MSYS2
pacman - S mingw- w64- x86_64- binutils
sudo apt-get update
sudo apt-get install binutils
# Using Homebrew
brew install binutils
# Using MacPorts
sudo port install binutils
Display File Headers
Display All Headers
Disassemble All Sections
Display Relocation Entries
Intel Syntax Disassembly
objdump -M intel -d executable
AT&T Syntax Disassembly
objdump -M att -d executable
Disassemble Specific Section
objdump -d -j .text executable
Source Code Intermixed
Display Symbol Table
Display Dynamic Symbol Table
Display All Sections Content
Display Full Contents of Sections
objdump -s -j .rodata executable
Show File Offsets
objdump --show-raw-insn -d executable
Demangle C++ Symbols
Display Debug Information
objdump --dwarf executable
Display Architecture Specific Information
Display Private Headers
Find String References
objdump -s -j .rodata executable | grep " string"
Analyze Function Calls
objdump -d executable | grep " call"
Extract All Strings
objdump -s -j .rodata executable
Display Line Numbers
Show All Information
objdump -x -d -s executable
Analyze Dynamic Relocations
Display Section Headers
Show Section Contents and Disassembly
Extract CTF (Compact C Type Format) Data
Display Source File Names
Find Entry Point
objdump -f executable | grep " start address"
Examine GOT (Global Offset Table)
objdump -R executable | grep " GLOB"
Analyze PLT (Procedure Linkage Table)
objdump -d -j .plt executable
# Extract all strings and disassembly
objdump -s -d suspicious_file > analysis.txt
# Look for suspicious functions
objdump -d suspicious_file | grep -E " system|exec|shell"
# Generate full disassembly with source
objdump -S -d --no-show-raw-insn binary > disassembly.txt
# Analyze specific function
objdump -d binary | grep -A20 " <function_name>:"
# Get debugging symbols
objdump -g executable
# Show line numbers with disassembly
objdump -d -l executable
Always back up binaries before analysis
Use multiple analysis passes with different options
Combine with other tools (strings, readelf, etc.)
Document findings systematically
Verify findings with multiple approaches
Common Issues and Solutions
# Fix permission denied
chmod +x executable
# Handle large output
objdump -d large_executable | tee analysis.txt
# Resolve stripped binaries
objdump -d stripped_binary --syms
objdump -s --section=.data -j .data executable
# Extract all function names
objdump -t executable | grep " F .text" | cut -d " " -f12
# Check for security features
objdump -x executable | grep -E " RELRO|BIND_NOW|NX"