X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=docs%2FLibFuzzer.rst;h=d3e0cb1e31050c08bf9770d18285c18a6bddb15d;hp=dfcf06d703084577357039101e9c474f1aa2ff57;hb=828d315fd6b8af7adf23fbf5adedb1a92762f74c;hpb=8193d9328e1a71c87e7102a77538eeecb1a52f66 diff --git a/docs/LibFuzzer.rst b/docs/LibFuzzer.rst index dfcf06d7030..d3e0cb1e310 100644 --- a/docs/LibFuzzer.rst +++ b/docs/LibFuzzer.rst @@ -61,7 +61,7 @@ The most important flags are:: mutate_depth 5 Apply this number of consecutive mutations to each input. timeout 1200 Timeout in seconds (if positive). If one unit runs more than this number of seconds the process will abort. help 0 Print help. - save_minimized_corpus 0 If 1, the minimized corpus is saved into the first input directory + save_minimized_corpus 0 If 1, the minimized corpus is saved into the first input directory. Example: ./fuzzer -save_minimized_corpus=1 NEW_EMPTY_DIR OLD_CORPUS jobs 0 Number of jobs to run. If jobs >= 1 we spawn this number of jobs in separate worker processes with stdout/stderr redirected to fuzz-JOB.log. workers 0 Number of simultaneous worker processes to run the jobs. If zero, "min(jobs,NumberOfCpuCores()/2)" is used. sync_command 0 Execute an external command " " to synchronize the test corpus. @@ -256,6 +256,26 @@ Voila:: Advanced features ================= +Dictionaries +------------ +*EXPERIMENTAL*. +LibFuzzer supports user-supplied dictionaries with input language keywords +or other interesting byte sequences (e.g. multi-byte magic values). +Use ``-dict=DICTIONARY_FILE``. For some input languages using a dictionary +may significantly improve the search speed. +The dictionary syntax is similar to that used by AFL_ for its ``-x`` option:: + + # Lines starting with '#' and empty lines are ignored. + + # Adds "blah" (w/o quotes) to the dictionary. + kw1="blah" + # Use \\ for backslash and \" for quotes. + kw2="\"ac\\dc\"" + # Use \xAB for hex values + kw3="\xF7\xF8" + # the name of the keyword followed by '=' may be omitted: + "foo\x0Abar" + Data-flow-guided fuzzing ------------------------