libfuzzer

all I need to know about libfuzzer

    LLVMFuzzerTestOneInput: fuzzing target
    LLVMFuzzerInitialize: initialization function to access argc and argv
    LLVMFuzzerCustomMutator: user-provided custom mutator
    LLVMFuzzerCustomCrossOver: user-provided custom cross-over function

In the above functions, only the LLVMFuzzerTestOneInput is necessary to be implemented for any fuzzing programs. This function takes a buffer and the buffer length as input, it is the target to be fuzzed again and again. When the users want to finish some initialization job with argc and argv parameters, they also need to implement LLVMFuzzerInitialize. With LLVMFuzzerCustomMutator and LLVMFuzzerCustomCrossOver, the users can also change the behaviors of producing input buffer with one or two old input buffers.

https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_integrate_libfuzzer1

你可能感兴趣的:(libfuzzer)