How orhun/binsider works
Binsider is a terminal application for inspecting ELF binaries. The main workflow takes a binary path and options, loads file metadata and analysis data, then presents general, static, dynamic, strings, and hexdump views in an interactive TUI. The graph preserves the README’s analysis capabilities; several feature links are documented rather than directly evidenced by sampled implementation excerpts, so those edges are dashed.
Main entry points: state.rs Application state · app.rs Analyzer · mod.rs ELF parser · lib.rs Application entry
Components 21
Application flow
- CLI options
src/args.rs - Application entry
src/lib.rs
Binary analysis
- Analyzer
src/app.rs - File metadata
src/file.rs - ELF parser
src/elf/mod.rs - ELF headers
src/elf/header.rs - ELF dynamic data
src/elf/dynamic.rs - ELF notes
src/elf/notes.rs - ELF relocations
src/elf/relocations.rs - ELF symbols
src/elf/symbols.rs - String extraction
src/app.rs - Hexdump view
src/app.rs
Terminal interface
- TUI lifecycle
src/tui/mod.rs - Terminal events
src/tui/event.rs - Command mapping
src/tui/command.rs - Application state
src/tui/state.rs - View renderer
src/tui/ui.rs - Selectable lists
src/tui/widgets/list.rs - Logo widget
src/tui/widgets/logo.rs
Dynamic analysis
- System call tracer
src/tracer.rs
Other components
- Engineer
Connections 28
- Engineer → CLI options: supplies options
README.md - CLI options → Application entry: starts with
src/lib.rs - Application entry → File metadata: loads metadata
src/lib.rs - Application entry → Analyzer: constructs
src/lib.rs - Analyzer → File metadata: reads file data
src/app.rs - Analyzer → ELF parser: parses ELF
src/app.rs - ELF parser → ELF headers: builds headers
src/elf/mod.rs - ELF parser → ELF dynamic data: builds dynamic data
src/elf/mod.rs - ELF parser → ELF notes: builds notes
src/elf/mod.rs - ELF parser → ELF relocations: builds relocations
src/elf/mod.rs - ELF parser → ELF symbols: builds symbols
src/elf/mod.rs - Analyzer → String extraction: extracts strings
src/app.rs - Analyzer → Hexdump view: initializes hexdump
src/app.rs - Application entry → TUI lifecycle: starts interface
src/lib.rs - TUI lifecycle → Terminal events: receives events
src/tui/mod.rs - TUI lifecycle → View renderer: draws views
src/tui/mod.rs - Application entry → Application state: initializes state
src/lib.rs - Application state → Command mapping: handles commands
src/tui/state.rs - Application state → Terminal events: sends events
src/tui/state.rs - View renderer → Application state: renders state
src/tui/ui.rs - View renderer → ELF parser: reads ELF data
src/tui/ui.rs - Application state → Selectable lists: uses list state
src/tui/state.rs - Application state → Logo widget: uses logo widget
src/tui/state.rs - Application state → String extraction: requests extraction
src/tui/state.rs - Application state → System call tracer: requests tracing
- Engineer → Analyzer: inspects binary
README.md - Analyzer → System call tracer: traces execution
README.md - View renderer → Hexdump view: shows byte view
README.md