
Tracer basato su Frida per semplificare il reverse-engineering su Android, iOS, Linux, Windows e la maggior parte delle architetture correlate.
Combinando Frida con una versione potenziata di Tenet, Frinet facilita lo studio di programmi di grandi dimensioni, la ricerca di vulnerabilità e l'analisi delle cause profonde su iOS, Android, Linux, Windows e sulla maggior parte delle architetture. Post del blog sul sito di Synacktiv
Questa versione è una riscrittura completa di synacktiv/frinet (originariamente un fork di gaasedelen/tenet).
È ancora possibile trovare la vecchia versione sul ramo legacy.
Questo progetto è stato presentato al SSTIC 2026 (in francese) : video/diapositive/paper.
La nuova architettura si basa su quattro componenti :
Indexer : Uno strumento CLI Rust che produce un indice ottimizzato da un file di traccia.Backend : Una crate Rust che implementa algoritmi specializzati per interrogare il file di indice ottimizzato.Backend (Python bindings) : Una crate Rust che espone un'interfaccia Python.IDA Plugin : Un sottile strato di codice Python che interroga e integra i dati dal backend nell'interfaccia IDA.Tracer basato su Frida: Identico alla versione legacy di Frinet.
Indexer / Backend:
crates/db.Frontend:
# Build the Python bindings shared lib
apt install python3-dev
cargo build --release
cp target/release/libfrinet_db.so frontend/frinet_db.so
# Symlink (or copy) the IDA Plugin
ln -s $PWD/frontend ~/.idapro/plugins/frinet
# 1. Trace /bin/ls with frida
python tracer/trace.py spawn /bin/ls ls 0x4c00
# 2. Build an optimised index of the trace
cargo run --bin frinet --release -- index --format tenet tracer/traces/ls_xxxx.tenet ls.db
# 3. Open the trace in IDA (File > Load File > Open Frinet DB...)
cargo test
cargo install cargo-fuzz
cargo +nightly fuzz run --fuzz-dir crates/fuzz register_indexing
cargo install cargo-criterion
BENCH_DB=my.db cargo criterion