CaringCaribou/caringcaribou

Simplify bitmasks in fuzzer module

kasperkarlsson opened this issue · 1 comments

The brute force and mutate modes of the fuzzer module let the user specify initial payloads and bit masks for these as separate arguments. Indices with value 0 in the bit mask will be kept as-is from the initial payload, while 1 means the value can be overridden by the fuzzing algorithm.

It would be simpler if the initial payload and bit mask were combined in a single argument. Values in the initial payload that should be overridden could simply be replaced with e.g. a dot and the bit mask could be removed altogether.

That way, the command
./cc.py fuzzer mutate -d 12ab89ef -db 01001100 -i 7fff -ib 0111
would instead be written
./cc.py fuzzer mutate -d 1.ab..ef -i 7...

Implemented in b411516