
Трассировщик на основе Frida для упрощения реверс-инжиниринга на Android, iOS, Linux, Windows и большинстве связанных архитектур.
Объединяя Frida с улучшенной версией Tenet, Frinet упрощает изучение больших программ, исследования уязвимостей и анализ первопричин на iOS, Android, Linux, Windows и большинстве архитектур. Статья в блоге на сайте Synacktiv
Эта версия является полной переработкой synacktiv/frinet (изначально форка gaasedelen/tenet).
Старую версию по-прежнему можно найти в ветке legacy.
Этот проект был представлен на SSTIC 2026 (на французском языке): видео/слайды/статья.
Новая архитектура основана на четырёх компонентах:
Indexer : Rust CLI, который создаёт оптимизированный индекс из файла трассировки.Backend : Rust-крейт, реализующий специализированные алгоритмы для запросов к оптимизированному индексному файлу.Backend (Python bindings) : Rust-крейт, предоставляющий интерфейс Python.IDA Plugin : Тонкий слой Python-кода, который запрашивает данные у бэкенда и интегрирует их в интерфейс IDA.Трассировщик на основе Frida: Идентичен версии Frinet из ветки legacy.
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