Fuzzing Heatmap

This tool was developed by Brendan Rood in the spring of 2024

Original:

Mutants:

Header Size:

Begin Processing


(Results will go here upon execution)



Fuzzaton Heatmap
├── ​What is Fuzzing?
│   ​├── ​Fuzzing is the process of taking a file and randomly modifying certain bytes.
│   ​├── ​The goal is to see how much can be modified while still being readable.
│   ​└── ​It is preferable for a program to "give up" rather than read corrupted data!
├── ​What is this tool?
│   ​├── ​This tool allows you to identify trends between mutants exhibiting certain traits against a single "original" file.
│   ​├── ​The user specifies the header size in bytes
│   ​│   ​└── ​This tool only supports files that have metadata exclusively at the start of the file
│   ​└── ​The program displays the results on a per-byte basis
├── ​Reading the results
│   ​├── ​Each entry denotes a particular byte (in hexadecimal)
│   ​├── ​The reder the byte, the LESS times it was modified compared to the original
│   ​└── ​The greener the byte, the MORE times it was modified compared to the original
└── ​Example Use Cases
    ​├── ​​Finding bytes to NOT fuzz
    ​│   ​├── Comparing an original against only readable mutants will reveal obvious "holes" of red
    ​│   ​├── ​These holes represent bytes that cannot be modified while still producing readable output
    ​│   ​└── ​This information allows you to curate your fuzzing tool to never fuzz those particular bytes
    ​│   ​    ​└── ​Doing so produces more useful mutants!
    ​└── ​Identifying bytes the result in particular behavior
    ​    ​├── ​Comparing and original against only files the exhibit particular behavior will reveal what bytes produce it
    ​    ​└── ​This information could allow you to curate your fuzzing tool to ONLY fuzz those particular bytes
    ​    ​    ​└── ​Doing so allows you to check your theory!

Accompanying Notes/Instructions for the class this tool was made for