Enhancement on Deterministic stage (#1972)

* fuzzer: init commit based on aflpp 60dc37a8cf

* fuzzers: adding the skip variables and initialize

* log: profile the det/havoc finding

* log: add profile log output

* fuzzers: sperate log/skipdet module

* fuzzers: add quick eff_map calc

* fuzzers: add skip_eff_map in fuzz_one

* fuzzers: mark whole input space in eff_map

* fuzzers: add undet bit threshold to skip some seeds

* fuzzers: fix one byte overflow

* fuzzers: fix overflow

* fix code format

* add havoc only again

* code format

* remove log to INTROSPECTION, rename skipdet module

* rename skipdet module

* remove log to stats

* clean redundant code

* code format

* remove redundant code format check

* remove redundant doc

* remove redundant objects

* clean files

* change -d to default skipdet

* disable deterministic when using CUSTOM_MUTATOR

* revert fix
This commit is contained in:
Han Zheng
2024-02-01 15:13:21 +01:00
committed by GitHub
parent 37d2039211
commit 06f0982f0f
10 changed files with 682 additions and 51 deletions

View File

@ -955,16 +955,16 @@ int main(int argc, char **argv_orig, char **envp) {
break;
case 'D': /* enforce deterministic */
afl->skip_deterministic = 0;
break;
case 'd': /* skip deterministic */
case 'D': /* no deterministic */
afl->skip_deterministic = 1;
break;
case 'd': /* partial deterministic */
afl->skip_deterministic = 0;
break;
case 'B': /* load bitmap */
/* This is a secret undocumented option! It is useful if you find
@ -3031,6 +3031,11 @@ stop_fuzzing:
if (frida_afl_preload) { ck_free(frida_afl_preload); }
fclose(afl->fsrv.plot_file);
#ifdef INTROSPECTION
fclose(afl->fsrv.det_plot_file);
#endif
destroy_queue(afl);
destroy_extras(afl);
destroy_custom_mutators(afl);