elf-inspection
Master Linux binary analysis with workflows for examining symbol tables, section layout, dynamic linking, and debug information. Diagnose undefined symbol errors, identify binary bloat, and verify security hardening flags like PIE and RELRO using standard tools.
ELF Inspection guides you through analyzing Linux binaries using readelf, objdump, nm, and ldd to examine symbols, sections, and dependencies.
AI-generated summary based on this skill's SKILL.md
Decision gist · record as of 2026-06-27
ELF Inspection guides you through analyzing Linux binaries using readelf, objdump, nm, and ldd to examine symbols, sections, and dependencies. Master Linux binary analysis with workflows for examining symbol tables, section layout, dynamic linking, and debug information. Diagnose undefined symbol errors, identify binary bloat, and verify security hardening flags like PIE and RELRO using standard tools.
Use it when
- elf-inspection teaches you to diagnose undefined symbol and linker errors by inspecting symbol tables.
- elf-inspection provides workflows to analyze binary size and identify bloat contributors.
Verify before relying
Read SKILL.md below before installing (2 files). Open directory: indexed for reading, not audited.
Install
mohitmishra786/low-level-dev-skills/elf-inspection · repository language: JavaScript
Open directory. Skills are indexed for reading, not audited. Review a skill's body before installing it.
Frequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
How to check what libraries a binary depends on?
elf-inspection helps you examine dynamic linking dependencies using standard tools. Run `ldd <binary>` to list all required shared libraries and their paths. For more detail, use `readelf -d <binary>` to inspect the DYNAMIC section, or `objdump -p <binary>` to see program headers. elf-inspection guides you through interpreting these outputs to diagnose missing libraries and linking issues.
What causes undefined reference errors in Linux binaries?
elf-inspection teaches you to diagnose undefined symbol and linker errors by inspecting symbol tables. Use `nm <binary>` to list symbols and identify undefined ones (marked 'U'). Check `readelf -s <binary>` for detailed symbol info including binding and visibility. elf-inspection helps you trace whether symbols are missing from dependencies, incorrectly stripped, or have visibility issues.
How big is my ELF binary and why?
elf-inspection provides workflows to analyze binary size and identify bloat contributors. Use `size <binary>` for a quick overview of text, data, and bss sections. Run `readelf -S <binary>` to see all section sizes, or `objdump -h <binary>` for headers. elf-inspection helps you spot oversized debug sections, unused code, or bloated dependencies driving binary growth.
How do you check if a binary has debug symbols?
elf-inspection guides you to extract debug info and build metadata from executables. Use `readelf -S <binary>` and look for .debug_* sections like .debug_info and .debug_line. Run `file <binary>` to see if it's stripped. Use `objdump -g <binary>` or `readelf --debug-dump=info <binary>` to inspect DWARF debug data. elf-inspection helps you verify symbol availability for debugging.
What symbols does a shared library export and how?
elf-inspection teaches you to inspect symbol tables in shared libraries using `nm -D <library>` to list dynamic symbols, or `readelf -s <library>` for full symbol details. Filter by GLOBAL and FUNC to find exported functions. Use `objdump -T <library>` for dynamic symbol table. elf-inspection helps you verify that required symbols are present and correctly bound.
How do you check binary hardening flags like PIE and RELRO?
elf-inspection guides you to verify security properties and hardening flags. Use `readelf -l <binary>` to check for RELRO segments and stack canary indicators. Run `file <binary>` to see if it's position-independent (PIE). Use `checksec` or parse ELF headers with `readelf -e <binary>` to confirm NX, ASLR, and stack protection. elf-inspection helps you assess security posture.
SKILL.md
Rendered from the published skill. Quoted content, verbatim.
ELF Inspection
Purpose
Guide agents through inspecting Linux ELF binaries: symbol tables, section layout, dynamic linking, debug info, and diagnosing linker errors.
Triggers
- "What libraries does this binary depend on?"
- "Why is this binary so large?"
- "I have an
undefined referenceor symbol not found at runtime" - "How do I check if debug info is in this binary?"
- "How do I find what symbols a library exports?"
- "How do I check if a binary is PIE / has RELRO?"
Workflow
1. Quick overview: file and size
```bash file prog # type, arch, linkage, stripped or not size prog # section sizes: text, data, bss size --format=sysv prog # detailed per-section
(truncated - see the full file via the links below)
File tree — 2 files
skills/binaries/elf-inspection/SKILL.md
skills/binaries/elf-inspection/references/cheatsheet.md
Let your AI agent find skills like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 56,283 agent skills by what they can do, searchable in plain language.
wish › “Inspect and understand ELF binary structure, symbols, and dependencies”
Give your agent the search over MCP, or paste the wish link into any chat. No install? Search from any chat →
Related skills
Binutils guides you through GNU's binary manipulation toolkit for static library management, debug info handling, address-to-source mapping, and symbol demangling. Master ar for archives, strip and objcopy for binary processing, addr2line for crash analysis, and c++filt for C++ symbol names.
Master Linux shared library fundamentals: create position-independent libraries with proper soname versioning, embed search paths using RPATH or RUNPATH, and debug loading failures with LD_DEBUG and ldd. Build plugin systems with dlopen/dlsym, intercept functions via LD_PRELOAD, and control symbol visibility to reduce binary bloat and namespace collisions.
Binary Hardening guides you through applying and validating security protections for C/C++ executables. Learn compiler and linker flags for RELRO, PIE, stack canaries, FORTIFY_SOURCE, and CFI, plus seccomp-bpf syscall filtering and hardware defenses like Intel CET and ARM BTI. Use checksec to audit existing binaries and confirm mitigations are in place.
Reverse Engineering equips you to analyze unknown binaries through structured workflows using Ghidra, radare2, and Binary Ninja. Master initial triage with standard tools, decompilation and scripting, C++ pattern recognition in stripped binaries, and binary diffing for vulnerability analysis.
Master DWARF debug format fundamentals—the sections that store type, variable, and function metadata in ELF binaries. Learn to inspect debug info with dwarfdump and readelf, work with split DWARF (.dwo files) to reduce linker overhead, configure debuginfod for remote symbol servers, and navigate how LTO and stripping affect debug information.
Master linker selection, essential flags, and link-order resolution for GNU ld, gold, and lld. Learn to enable LTO with GCC or Clang, strip dead code with --gc-sections, and debug common linker errors like undefined symbols and circular dependencies.
More skills make (MIT) · binary-protection-bypass (MIT)