Repository navigation
xref v0.0.1
First tagged release of xref (v0.0.1) — fast cross-references, struct layout reconstruction, and structured pseudo-C decompilation of x86-64 ELF binaries.
Highlights
- Structured Pseudo-C Decompiler (
xref c/decomp):O(B log B)control-flow structuring (if/else, multi-blockwhile&do/whileloops withbreak;/continue;, jump-tableswitch/case).- Interprocedural System V AMD64 live parameter recovery, caller stack arguments (
arg7..),(rax, rdx)tuple returns, and indirect register-saved import calls. - Automatic stripped Rust runtime helper recognition (
rust_unwrap_failed,rust_panic_bounds_check,rust_panic_fmt,rust_once_call,rust_alloc,rust_dealloc, etc.) and exact byte-length slicing of non-NUL&str&core::fmt::Argumentsstrings. - Expression simplification (
lealinear combinations,saturating_add,fs:/gs:TLS).
- Struct Layout Reconstruction (
xref layout):- Recovers field offsets, byte widths, read/write/
leacounts, array element strides, and 1-hop sub-struct callees (--reg,--callees).
- Recovers field offsets, byte widths, read/write/
- Address-of Field Tracking (
xref disp --lea):- Reports
lea reg, [base+disp]field borrows alongside loads/stores and annotates the receiving callee (; -> <callee>).
- Reports
- Interactive In-Memory Web Workbench (
xref web&docs/):- Zero-dependency local HTTP workbench (
xref -b BIN web --addr 127.0.0.1:7700) serving interactive Pseudo-C, Struct Layout, Annotated ASM, Callers/Callees, and whole-binary search.
- Zero-dependency local HTTP workbench (