Skip to content

A tool for examining ELF binaries

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

travitch/binary-walkr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This tool provides a convenient interface for inspecting ELF binaries and their dependencies. Think of it as a combination of ldd and readelf.

Compared to ldd, this tool is somewhat more flexible in that it supports multiple architectures and custom system root specifications to enable searching for shared libraries in filesystem images, rather than in the host system root filesystem.

Building

The tool is implemented in Rust and uses the standard Cargo build system:

cargo build

Usage

To run the tool:

binary-walkr /path/to/binary

It supports the following options:

  • --sysroot: Specify an alternative root to search for shared libraries from
  • --interactive: Start an interactive UI for exploring binary structures

TUI Keybindings

The TUI enables interactive exploration of a binary and its dependencies. The left pane lists the binary and all of its transitive dynamic dependencies. The right pane shows detailed information about the currently selected binary/shared library (if any).

The keybindings available are:

  • Ctrl+n scrolls down in the binary/library list
  • Ctrl+p scrolls up in the binary/library list
  • Up and Down scroll through detailed info tables in the right pane
  • Alt-[1-9] change the tab in the detailed information pane
  • Ctrl-q quits

Shared Library Search

This tool attempts to resolve shared library dependencies in the same way as the dynamic loader, including consulting the default system library directories and LD_LIBRARY_PATH. It will eventually support DT_RPATH and DT_RUNPATH, but does not yet.

About

A tool for examining ELF binaries

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages