Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/nornir

crates/mimir-bin/README.md

nornir-mimir-bin

Mímir's binary graph: static x86_64 and AArch64 ELF control-flow discovery. It reads linked programs, shared libraries, relocatable objects and static archives without running them and writes functions, basic blocks, calls, imports and the sites it could not resolve as Mímir's Arrow tables (code_nodes, code_edges, code_asm, bin_unresolved from nornir-mimir-schema). A source dump of the same program (cargo-mimir-dump) merges in by exact linker symbol (provenance both).

use mimir_bin::{graph_of, Arch, BinOpts};
let graph = graph_of(std::path::Path::new("program.elf"), &BinOpts { arch: Arch::Detect, ..Default::default() })?;
graph.write(std::path::Path::new("new-graph-dir"))?;

The command line (feature cli): mimir-bin bin <ELF> --out <new dir>, mimir-bin show <dir>, mimir-bin stats <dir>. Heimdall's heimdall graph bin / graph show call the same code. Experimental. The output contract, the analysis and the limits: nornir docs/v2/mimir/binary-graph.md.

Licensed MIT OR Apache-2.0.