Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 950 Bytes

README.md

File metadata and controls

50 lines (32 loc) · 950 Bytes

sotsuron

This is an interactive fuzzing tool that visualizes code coverage of a fuzzing campaign and enables the debugger to intervene in the fuzzing queue.

Plot

Queue

Explorer

Prerequisites

  • LLVM 11+
  • npm

Build

$ pushd AFLplusplus
$ make LLVM_CONFIG=llvm-config-13
$ popd

$ pushd cli
$ npm install
$ npm run build
$ npm link
$ popd

Usage

Instrumentation

Compile the program to be fuzzed using aflv cc / aflv cxx, which are equivalent to afl-clang-lto / afl-clang-lto++ respectively.

$ aflv cc -o main main.c

The only difference is that aflv cc and aflv cxx generate a source map of the program in .aflv/profile.json.

Fuzzing

Run aflv fuzz, which is equivalent to afl-fuzz.

$ aflv fuzz -i in -o out ./main

Then you can see the visualized progress on http://localhost:3000/.