about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-07-12 15:56:25 +0200
committervanhauser-thc <vh@thc.org>2021-07-12 15:56:37 +0200
commitd16d8dbb8511ad227fdeb33eb5a10914d9ad7bd9 (patch)
tree292a2f6a76bfdad7d06b033f79a18608e07b2459
parentfc3d7e821c94a87483906c4cf1c84f1eff01e036 (diff)
downloadafl++-d16d8dbb8511ad227fdeb33eb5a10914d9ad7bd9.tar.gz
update faq
-rw-r--r--docs/FAQ.md16
1 files changed, 9 insertions, 7 deletions
diff --git a/docs/FAQ.md b/docs/FAQ.md
index ab0abe6c..0f447044 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -188,13 +188,7 @@ Four steps are required to do this and it also requires quite some knowledge
 of coding and/or disassembly and is effectively possible only with
 afl-clang-fast PCGUARD and afl-clang-lto LTO instrumentation.
 
-  1. First step: Identify which edge ID numbers are unstable
-
-     run the target with `export AFL_DEBUG=1` for a few minutes then terminate.
-     The out/fuzzer_stats file will then show the edge IDs that were identified
-     as unstable.
-
-  2. Second step: Find the responsible function(s).
+  1. First step: Instrument to be able to find the responsible function(s).
 
      a) For LTO instrumented binaries this can be documented during compile
         time, just set `export AFL_LLVM_DOCUMENT_IDS=/path/to/a/file`.
@@ -217,6 +211,14 @@ afl-clang-fast PCGUARD and afl-clang-lto LTO instrumentation.
         recompile with the two mentioned above. This is just for
         identifying the functions that have unstable edges.
 
+  2. Second step: Identify which edge ID numbers are unstable
+
+     run the target with `export AFL_DEBUG=1` for a few minutes then terminate.
+     The out/fuzzer_stats file will then show the edge IDs that were identified
+     as unstable in the `var_bytes` entry. You can match these numbers
+     directly to the data you created in the first step.
+     Now you know which functions are responsible for the instability
+
   3. Third step: create a text file with the filenames/functions
 
      Identify which source code files contain the functions that you need to