CaringCaribou / caringcaribou

A friendly car security exploration tool for the CAN bus
GNU General Public License v3.0
738 stars 193 forks source link

Simplify bitmasks in fuzzer module #45

Closed kasperkarlsson closed 5 years ago

kasperkarlsson commented 5 years ago

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...

kasperkarlsson commented 5 years ago

Implemented in https://github.com/CaringCaribou/caringcaribou/commit/b411516460b0e4c709ce880a832fedae795b6c56