
Dies ist ein experimentelles Projekt für [resmack](https://gitlab.com/d0c-s4vage/resmack) um die besten Methoden zu ermitteln für das Instrumentieren von Zielprozessen, das Arbeiten mit Speicher-Breakpoints, Snapshot-Fuzzing, Corpus-Verwaltung und Feedback-Metriken
Dieses Projekt ist eine Erkundung eines feedback-gesteuerten Fuzzers, der Folgendes nutzt:
/proc/pid/map, /proc/pid/clear_refs und /proc/pid/pagemapprocess_vm_writevErfolgreicher Code und Konzepte, die hier implementiert wurden, werden in resmack aufgenommen, um daraus einen vollständigen Fuzzer zu machen, anstatt nur einen grammatikbasierten Datengenerator.
Siehe den Blogbeitrag Resmack: Fuzzing Thoughts - Teil 2 für eine ausführliche Beschreibung dessen, was in diesem Projekt gemacht wird.
Dieses Projekt benötigt:
linux-tools-commonlinux-tools-genericlinux-tools-$(uname -r)gccEin perf_event_paranoid-Level von <= 2:
echo 2 | sudo tee /proc/sys/kernel/perf_event_paranoid
Erstellen des Testziels:
gcc target.c -o a.out
Erstellen des Fuzzers
cargo build --release
Ausführen des Fuzzers
cargo run --release ./a.out
Alles zusammen jetzt ♪ ♫
gcc target.c -o a.out && cargo run --release ./a.out AAAAAAAAA
cargo test
cargo bench --bench snapshots -- --verbose