2023-08-10 14:46:37 +02:00
..
2023-08-10 14:46:37 +02:00
2023-05-21 14:49:24 +02:00

An AFL++ custom mutator using TritonDSE

Installing the requirements

pip3 install tritondse

How to run with an example

../../afl-cc -o ../../test-instr ../../test-instr.c
mkdir -p in
echo aaaa > in/in
AFL_DISABLE_TRIM=1 AFL_CUSTOM_MUTATOR_ONLY=1 AFL_SYNC_TIME=1 AFL_PYTHON_MODULE=aflpp_tritondse PYTHONPATH=. ../../afl-fuzz -i in -o out -- ../../test-instr

Note that this custom mutator works differently, new finds are synced after 10-60 seconds to the fuzzing instance. This is necessary because only C/C++ custom mutators have access to the internal AFL++ state.

Note that you should run first with AFL_DEBUG for 5-10 minutes and see if all important libraries and syscalls are hooked (look at WARNING and CRITICAL output during the run, best use with AFL_NO_UI=1)