You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AFLplusplus/src/AFLplusplus-stable/custom_mutators/libfuzzer
1LuB dbc698415f
v1.0
6 months ago
..
FuzzerBuiltins.h v1.0 6 months ago
FuzzerBuiltinsMsvc.h v1.0 6 months ago
FuzzerCommand.h v1.0 6 months ago
FuzzerCorpus.h v1.0 6 months ago
FuzzerCrossOver.cpp v1.0 6 months ago
FuzzerDataFlowTrace.cpp v1.0 6 months ago
FuzzerDataFlowTrace.h v1.0 6 months ago
FuzzerDefs.h v1.0 6 months ago
FuzzerDictionary.h v1.0 6 months ago
FuzzerDriver.cpp v1.0 6 months ago
FuzzerExtFunctions.def v1.0 6 months ago
FuzzerExtFunctions.h v1.0 6 months ago
FuzzerExtFunctionsDlsym.cpp v1.0 6 months ago
FuzzerExtFunctionsWeak.cpp v1.0 6 months ago
FuzzerExtFunctionsWindows.cpp v1.0 6 months ago
FuzzerExtraCounters.cpp v1.0 6 months ago
FuzzerFlags.def v1.0 6 months ago
FuzzerFork.cpp v1.0 6 months ago
FuzzerFork.h v1.0 6 months ago
FuzzerIO.cpp v1.0 6 months ago
FuzzerIO.h v1.0 6 months ago
FuzzerIOPosix.cpp v1.0 6 months ago
FuzzerIOWindows.cpp v1.0 6 months ago
FuzzerInterceptors.cpp v1.0 6 months ago
FuzzerInterface.h v1.0 6 months ago
FuzzerInternal.h v1.0 6 months ago
FuzzerLoop.cpp v1.0 6 months ago
FuzzerMain.cpp v1.0 6 months ago
FuzzerMerge.cpp v1.0 6 months ago
FuzzerMerge.h v1.0 6 months ago
FuzzerMutate.cpp v1.0 6 months ago
FuzzerMutate.h v1.0 6 months ago
FuzzerOptions.h v1.0 6 months ago
FuzzerPlatform.h v1.0 6 months ago
FuzzerRandom.h v1.0 6 months ago
FuzzerSHA1.cpp v1.0 6 months ago
FuzzerSHA1.h v1.0 6 months ago
FuzzerTracePC.cpp v1.0 6 months ago
FuzzerTracePC.h v1.0 6 months ago
FuzzerUtil.cpp v1.0 6 months ago
FuzzerUtil.h v1.0 6 months ago
FuzzerUtilDarwin.cpp v1.0 6 months ago
FuzzerUtilFuchsia.cpp v1.0 6 months ago
FuzzerUtilLinux.cpp v1.0 6 months ago
FuzzerUtilPosix.cpp v1.0 6 months ago
FuzzerUtilWindows.cpp v1.0 6 months ago
FuzzerValueBitMap.h v1.0 6 months ago
Makefile v1.0 6 months ago
README.md v1.0 6 months ago
libfuzzer.cpp v1.0 6 months ago
libfuzzer.inc v1.0 6 months ago

README.md

custum mutator: libfuzzer LLVMFuzzerMutate()

This uses the libfuzzer LLVMFuzzerMutate() function in llvm 12.

just type make to build

AFL_CUSTOM_MUTATOR_LIBRARY=custom_mutators/libfuzzer/libfuzzer-mutator.so afl-fuzz ...

Note that this is currently a simple implementation and it is missing two features:

  • Splicing ("Crossover")
  • Dictionary support

To update the source, all that is needed is that FuzzerDriver.cpp has to receive

#include "libfuzzer.inc"

before the closing namespace bracket.

It is also libfuzzer.inc where the configuration of the libfuzzer mutations are done.

Original repository: https://github.com/llvm/llvm-project Path: compiler-rt/lib/fuzzer/*.{h|cpp} Source commit: df3e903655e2499968fc7af64fb5fa52b2ee79bb