
Este es un proyecto experimental para [resmack](https://gitlab.com/d0c-s4vage/resmack) para determinar los mejores métodos para instrumentar procesos objetivo, trabajar con breakpoints de memoria, fuzzing de instantáneas, gestión de corpus y métricas de retroalimentación.
Este proyecto es una exploración de un fuzzer guiado por retroalimentación que utiliza:
/proc/pid/map, /proc/pid/clear_refs, y /proc/pid/pagemapprocess_vm_writevEl código y conceptos exitosos implementados aquí serán absorbidos en resmack para convertirlo en un fuzzer completo en lugar de solo un generador de datos basado en gramática.
Consulte la publicación del blog Resmack: Fuzzing Thoughts - Part 2 para obtener un informe completo sobre lo que se hace en este proyecto.
Este proyecto requiere:
linux-tools-commonlinux-tools-genericlinux-tools-$(uname -r)gccUn nivel de perf_event_paranoid de <= 2:
echo 2 | sudo tee /proc/sys/kernel/perf_event_paranoid
Compilando el objetivo de prueba:
gcc target.c -o a.out
Compilando el fuzzer
cargo build --release
Ejecutando el fuzzer
cargo run --release ./a.out
Todo junto ahora ♪ ♫
gcc target.c -o a.out && cargo run --release ./a.out AAAAAAAAA
cargo test
cargo bench --bench snapshots -- --verbose