
Tracer baseado em Frida para facilitar a engenharia reversa em Android, iOS, Linux, Windows e na maioria das arquiteturas relacionadas.
Ao combinar o Frida com uma versão melhorada do Tenet, o Frinet facilita o estudo de programas grandes, a pesquisa de vulnerabilidades e a análise de causa raiz em iOS, Android, Linux, Windows e na maioria das arquiteturas. Publicação no site da Synacktiv
Esta versão é uma reescrita completa de synacktiv/frinet (originalmente um fork de gaasedelen/tenet).
Você ainda pode encontrar a versão antiga no branch legado.
Este projeto foi apresentado no SSTIC 2026 (em francês) : vídeo/slides/artigo.
A nova arquitetura é baseada em quatro componentes :
Indexer : Uma CLI em Rust que produz um índice otimizado a partir de um arquivo de trace.Backend : Uma crate em Rust que implementa algoritmos especializados para consultar o arquivo de índice otimizado.Backend (Python bindings) : Uma crate em Rust que expõe uma interface Python.IDA Plugin : Uma camada fina de código Python que consulta e integra dados do backend na interface do IDA.Tracer baseado no Frida: Idêntico à versão legada do 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