Skip to content

AFL++ code coverage visualization (for my graduation thesis)

Notifications You must be signed in to change notification settings

n4o847/sotsuron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

AFL++ code coverage visualization (for my graduation thesis)

Resources

Stars

Watchers

Forks

Packages

No packages published