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