Skip to main content

Crate fnprint_core

Crate fnprint_core 

Source
Expand description

Index / match / query, built on the loader + emulator + fingerprint + db.

Structs§

Changed
EffectTrace
The full result of micro-executing one function.
EvalResult
IndexedFunc
MatchReport
Named
TriageHit

Enums§

Verdict

Constants§

MIN_COMPLEXITY
below this we don’t trust a match, thunks and tiny leaves all look alike
SAME_THRESH
two prints this close are “the same function”

Functions§

dump_traces
debug helper: micro-execute one named function and return its effect traces (one per seed/path). used by fnprint dump to see what the engine records.
eval
rank every signal-bearing function in A against all of B, using symbol names as ground truth. this is the headline accuracy measurement.
index_bytes
micro-execute + fingerprint every discovered function in an ELF blob.
index_to_db
match_by_name
align two indexes by symbol name and report which shared functions actually changed behavior. this is the “what did the vendor quietly patch” view.
query_corpus
for each function in the target that we can trust, pull the best-matching named function out of the corpus db. withholds tiny/low-signal functions.
source_str
triage
rank each target function against a known-vulnerable corpus and a known-patched corpus and call which side it leans to. a function close to the vulnerable version and clearly separated from the patched one is a candidate worth a human’s time, which is more useful for n-day work than a single match score.
warm_pool
Force the rayon global pool to spawn its worker threads now. The sandboxed worker calls this before it jails itself, so the jail can forbid clone/clone3 (no thread creation after lockdown) without starving the parallel index.