elf-info
can inspect and display information about ELF binaries, the executable
format mostly used on Linux. This CLI tools aims at being ergonomic, without the
need of using two different commands (objdump
and readelf
) that have impossible
to remember options.
elf-info
commands and options are easy to remember yet short and easy to type.
Efforts are made on the presentation of the data, using colors and ASCII tables.
For better ergonomics, you can set a ELF
environment variable so not to have
to repeat the file name on each command.
The fn
subcommand is my favorite: give it a function’s name and its full
pretty-formatted disassembly is displayed.
By passing --cfi
you can superimpose call frame information (CFI):
You can quickly list all symbols, and demangle the names.
Pass --no-demangle
for not demangling.
Pass -l
/ -g
/ -w
/ -d
to only display local / global / weak / defined symbols.
Pass -t <TYPE>
to filter by symbol type.
Pass -D
to only display dynamic symbols.
Pass -f
to filter by symbol name using a regular expression.
For some type of sections, elf-info
is able to interpret its content and
display it in a more usable way. For example, for a table of strings, all strings
are listed. You can add the option -x
or --hexdump
to always display a hexdump.
In the same way, elf-info
can pretty print the content of .eh_frame_hdr
.
Quickly find EH information for a specific symbol with -s
: