
Ceci est un projet expérimental pour [resmack](https://gitlab.com/d0c-s4vage/resmack) afin de déterminer les meilleures méthodes pour instrumenter les processus cibles, travailler avec des points d'arrêt mémoire, le fuzzing par instantané, la gestion de corpus et les métriques de feedback.
Ce projet est l'exploration d'un fuzzer guidé par rétroaction qui utilise :
/proc/pid/map, /proc/pid/clear_refs et /proc/pid/pagemapprocess_vm_writevLe code et les concepts réussis implémentés ici seront absorbés dans resmack pour en faire un fuzzer complet au lieu d'être uniquement un générateur de données basé sur une grammaire.
Consultez l'article de blog Resmack: Fuzzing Thoughts - Part 2 pour un compte rendu complet de ce qui est fait dans ce projet.
Ce projet nécessite :
linux-tools-commonlinux-tools-genericlinux-tools-$(uname -r)gccUn niveau perf_event_paranoid de <= 2 :
echo 2 | sudo tee /proc/sys/kernel/perf_event_paranoid
Compilation de la cible de test :
gcc target.c -o a.out
Compilation du fuzzer
cargo build --release
Exécution du fuzzer
cargo run --release ./a.out
Tout en un ♪ ♫
gcc target.c -o a.out && cargo run --release ./a.out AAAAAAAAA
cargo test
cargo bench --bench snapshots -- --verbose