Repository navigation
v0.2.0: Enhanced ELF Inspection, Security Scorecard, Multi-Platform GUI & Robust Error Handling
What's New in v0.2.0
Multi-Platform Desktop GUI
- Windows (x86_64): Standalone native executable (
binary-inspector-gui.exein zip package). - macOS: Native desktop binary (
binary-inspector-gui). - Linux (x86_64): Native desktop binary (
binary-inspector-gui) and CLI executable (binary-inspector).
Structured Error Handling & Robustness
- Domain
ParseError: Strongly typed error variants for every ELF format and structural failure (FileTooShort,InvalidMagic,UnsupportedVersion,UnsupportedClass,UnsupportedEndianness,OutOfBounds,IntegerOverflow,InvalidHeader,InvalidStringTable,LimitExceeded,Malformed). - Panic-Free Parsing: Eliminated all
.expect(...)calls across numeric readers in favor of compile-time panic-free array unpacking. - Target & Filesystem Validation: Mapped Unix
libc::ELOOPfromO_NOFOLLOWdirectly toAppError::InvalidFileType; explicit distinctions for non-regular files (directories, FIFOs, special devices) and 512 MiB size limits. - GUI Remediation Guidance: Actionable remediation guidance cards in failed state explaining causes and user tips above technical diagnostics.
Security Hardening Scorecard (checksec)
- RELRO Detection: Full & Partial RELRO analysis (accurately recognizing
DT_BIND_NOWtag 24,DF_BIND_NOW, andDF_1_NOW). - Stack Canary Protection: Detection for stack protection symbols including
__stack_chk_fail,__stack_chk_guard, and__stack_chk_fail_localon PIC / 32-bit binaries. - NX / DEP Stack: Non-executable stack verification via
PT_GNU_STACK. - Position Independent Executable (PIE): Detection of PIE, No-PIE, and DSO binaries, including static PIE binaries via
DT_DEBUG. - Fortify Source: Identifies imported
_chklibrary functions with versioned symbol support. - RWX Segments: W^X permission violation alerts on segments with concurrent Write and Execute permissions.
- Insecure RPATH / RUNPATH: Flags search paths containing empty entries, relative paths, or
..
Extended ELF Analysis
-
Symbols (
-s,--symbols): Static (.symtab) and dynamic (.dynsym) symbols with types, bindings, visibilities, and import/export identification. -
ELF Notes (
-n,--notes): Decodes GNU Build ID, OS ABI requirements, and hardware properties (x86 IBT/SHSTK, ARM BTI/PAC). -
Relocations (
-r,--relocations): SHT_REL and SHT_RELA records with$O(1)$ symbol table resolution.
Desktop GUI Performance & UI/UX Overhaul
- Virtualized Tables:
egui::ScrollArea::show_rowsvirtual row culling for 60 FPS scrolling through tables with up to 65k symbols and 32k relocations. - Sticky Column Headers: Pinned sortable headers with resizable column widths and reset shortcuts.
- Live Search Filtering: Search by symbol name, section, and relocation target with instant updates.
- Smooth Background Loading: Asynchronous inspection with continuous 50ms repaint scheduling.
Checksums (SHA256)
2956be8d90dbd9a259f927fc5102ed6fb1db222e96d435a607d212ec21c9832b binary-inspector-cli-linux-x86_64.tar.gz
05a2bc8c98ed28bfda661de5d66a566dc7ca3741b29e65ced828c3bfe31ea11e binary-inspector-gui-linux-x86_64.tar.gz
f9e301191a511693e6bb24c4d9f1f03db0b43d86fc54a87d7d77aaa4d64a9b4d binary-inspector-gui-macos.tar.gz
737ee0ae5be133ae79d12158f4be1d247b62f596f9c7d9dfd0dcfebe9e700415 binary-inspector-gui-windows-x86_64.zip