You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/FAQ.md
+6-7Lines changed: 6 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ e.g. [Fuzzbench Report](https://www.fuzzbench.com/reports/2020-08-03/index.html)
41
41
2. Use [persistent mode](llvm_mode/README.persistent_mode.md) (x2-x20 speed increase)
42
42
3. Use the [afl++ snapshot module](https://github.com/AFLplusplus/AFL-Snapshot-LKM) (x2 speed increase)
43
43
4. If you do not use shmem persistent mode, use `AFL_TMPDIR` to put the input file directory on a tempfs location, see [docs/env_variables.md](docs/env_variables.md)
44
-
5. Improve Linux kernel performance: modify `/etc/default/grub`, set `GRUB_CMDLINE_LINUX_DEFAULT="ibpb=off ibrs=off kpti=off l1tf=off mds=off mitigations=off no_stf_barrier noibpb noibrs nopcid nopti nospec_store_bypass_disable nospectre_v1 nospectre_v2 pcid=off pti=off spec_store_bypass_disable=off spectre_v2=off stf_barrier=off"`; then `update-grub` and `reboot` (warning: makes the system more insecure)
44
+
5. Improve Linux kernel performance: modify `/etc/default/grub`, set `GRUB_CMDLINE_LINUX_DEFAULT="ibpb=off ibrs=off kpti=off l1tf=off mds=off mitigations=off no_stf_barrier noibpb noibrs nopcid nopti nospec_store_bypass_disable nospectre_v1 nospectre_v2 pcid=off pti=off spec_store_bypass_disable=off spectre_v2=off stf_barrier=off"`; then `update-grub` and `reboot` (warning: makes the system less secure)
45
45
6. Running on an `ext2` filesystem with `noatime` mount option will be a bit faster than on any other journaling filesystem
46
46
7. Use your cores! [README.md:3.b) Using multiple cores/threads](../README.md#b-using-multiple-coresthreads)
47
47
@@ -51,10 +51,8 @@ The short answer is - you cannot, at least not "out of the box".
51
51
52
52
Using a network channel is inadequate for several reasons:
53
53
- it has a slow-down of x10-20 on the fuzzing speed
54
-
- it does not scale to multiple connections,
55
-
- instead of one initial data packet often a back-and-forth
56
-
interplay of packets is needed for stateful protocols
57
-
(which is totally unsupported by most coverage aware fuzzers).
54
+
- it does not scale to fuzzing multiple instances easily,
55
+
- instead of one initial data packet often a back-and-forth interplay of packets is needed for stateful protocols (which is totally unsupported by most coverage aware fuzzers).
58
56
59
57
The established method to fuzz network services is to modify the source code
60
58
to read from a file or stdin (fd 0) (or even faster via shared memory, combine
@@ -90,8 +88,8 @@ functionality for processing the input that the GUI program is using.
90
88
A program contains `functions`, `functions` contain the compiled machine code.
91
89
The compiled machine code in a `function` can be in a single or many `basic blocks`.
92
90
A `basic block` is the largest possible number of subsequent machine code
93
-
instructions that has exactly one entry (at the beginning) and runs linearly without
94
-
branching or jumping to other addresses (except at the end).
91
+
instructions that has exactly one entrypoint (which can be be entered by multiple other basic blocks)
92
+
and runs linearly without branching or jumping to other addresses (except at the end).
95
93
```
96
94
function() {
97
95
A:
@@ -126,6 +124,7 @@ code example above):
126
124
Block E
127
125
```
128
126
Every line between two blocks is an `edge`.
127
+
Note that a few basic block loop to itself, this too would be an edge.
0 commit comments