Skip to content
Tools for inspecting, analyzing and optimizing ELF files.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
src
tests
.arcconfig
.gitignore
.krazy
CMakeLists.txt
COPYING
README.md
add_license.sh
config-elf-dissector-version.h.cmake
config-elf-dissector.h.cmake

README.md

ELF Dissector

Static analysis tool for ELF libraries and executables.

Main Use-Cases

ELF Dissector is useful if you need to do one or more of the following tasks:

  • Inspecting forward and backward dependencies, on library and symbol level.
  • Identifying load-time performance bottlenecks such as expensive static contructors or excessive relocations.
  • Size profiling of ELF files.

Features

  • ELF structure browser.
  • Tree map visualization of the size of the various parts of an ELF file.
  • Relocation heatmap.
  • Built-in disassmbler for x86 and AArch64.
  • Browser for data type memory layouts extracted from DWARF debug information.
  • Forward and backward dependency viewer.

Esoteric/experimental features

ELF Dissector also doubles as a research platform for more experimental work around ELF files and loading/dynamic linking. Some of this is only available in CLI tools. Use at your own risk.

  • Identifying sub-optimal struct packing.
  • Optimizing dependency order by lookup hit rate probability.
  • Identifying duplicate vtable or typeinfo emission.
  • Loading/dynamic linking profiler.
  • Identifying unused symbols in a set of ELF files.
You can’t perform that action at this time.