about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2019-08-21 09:57:26 +0200
committerGitHub <noreply@github.com>2019-08-21 09:57:26 +0200
commitb1ebd62c78e81bcd0731782f102276e4af459cea (patch)
treee1a74bdebbabcab7f8a03bb939bf79bc6baa978d
parentfcc349467f41b2e7414f925d3ef3bbbdc61bac8a (diff)
downloadafl++-b1ebd62c78e81bcd0731782f102276e4af459cea.tar.gz
update env_variables.txt with compcov levels
-rw-r--r--docs/env_variables.txt19
1 files changed, 13 insertions, 6 deletions
diff --git a/docs/env_variables.txt b/docs/env_variables.txt
index 93066dbc..821463ae 100644
--- a/docs/env_variables.txt
+++ b/docs/env_variables.txt
@@ -245,9 +245,19 @@ The QEMU wrapper used to instrument binary-only code supports several settings:
   - Setting AFL_INST_LIBS causes the translator to also instrument the code
     inside any dynamically linked libraries (notably including glibc).
   
+  - Setting AFL_COMPCOV_LEVEL enables the CompareCoverage tracing of all cmp
+    and sub in x86 and x86_64 and memory comparions functions (e.g. strcmp,
+    memcmp, ...) when libcompcov is preloaded using AFL_PRELOAD.
+    More info at qemu_mode/libcompcov/README.compcov.
+    There are two levels at the moment, AFL_COMPCOV_LEVEL=1 that instruments
+    only comparisons with immediate values / read-only memory and
+    AFL_COMPCOV_LEVEL=2 that instruments all the comparions. Level 2 is more
+    accurate but may need a larger shared memory.
+  
   - Setting AFL_QEMU_COMPCOV enables the CompareCoverage tracing of all
-    cmp and sub in x86 and x86_64. Support for other architectures and
-    comparison functions (mem/strcmp et al.) is planned.
+    cmp and sub in x86 and x86_64.
+    This is an alias of AFL_COMPCOV_LEVEL=1 when AFL_COMPCOV_LEVEL is
+    not specified.
 
   - The underlying QEMU binary will recognize any standard "user space
     emulation" variables (e.g., QEMU_STACK_SIZE), but there should be no
@@ -260,10 +270,7 @@ The QEMU wrapper used to instrument binary-only code supports several settings:
   - AFL_ENTRYPOINT allows you to specify a specific entrypoint into the
     binary (this can be very good for the performance!).
     The entrypoint is specified as hex address, e.g. 0x4004110
-
-  - AFL_QEMU_COMPCOV is for a sub-project in qemu_mode called ./libcompcov
-    which implements laf-intel for qemu. It also needs AFL_PRELOAD and
-    you can find more information in qemu_mode/libcompcov/README.compcov
+    Note that the address must be the address of a basic block.
 
 5) Settings for afl-cmin
 ------------------------