about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
authorHan Zheng <35988108+kdsjZh@users.noreply.github.com>2024-02-01 15:13:21 +0100
committerGitHub <noreply@github.com>2024-02-01 14:13:21 +0000
commit06f0982f0f4506e18872efb86b97993f2518988c (patch)
tree2232f6623b8499c7b7e067990ed22bb3b19bb02c /src/afl-fuzz.c
parent37d20392117b2d7e887b9ef3694f31ef43b2c9b6 (diff)
downloadafl++-06f0982f0f4506e18872efb86b97993f2518988c.tar.gz
Enhancement on Deterministic stage (#1972)
* fuzzer: init commit based on aflpp 60dc37a8cf09f8e9048e4b6a2204d6c90b27655a

* 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
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 8cf6c735..7db1aeb3 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -955,14 +955,14 @@ int main(int argc, char **argv_orig, char **envp) {
 
       break;
 
-      case 'D':                                    /* enforce deterministic */
+      case 'D':                                         /* no deterministic */
 
-        afl->skip_deterministic = 0;
+        afl->skip_deterministic = 1;
         break;
 
-      case 'd':                                       /* skip deterministic */
+      case 'd':                                    /* partial deterministic */
 
-        afl->skip_deterministic = 1;
+        afl->skip_deterministic = 0;
         break;
 
       case 'B':                                              /* load bitmap */
@@ -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);