xref: /aosp_15_r20/external/AFLplusplus/docs/README.md (revision 08b48e0b10e97b33e7b60c5b6e2243bd915777f2)
1*08b48e0bSAndroid Build Coastguard Worker# AFL++ documentation
2*08b48e0bSAndroid Build Coastguard Worker
3*08b48e0bSAndroid Build Coastguard WorkerThis is the overview of the AFL++ docs content.
4*08b48e0bSAndroid Build Coastguard Worker
5*08b48e0bSAndroid Build Coastguard WorkerFor general information on AFL++, see the
6*08b48e0bSAndroid Build Coastguard Worker[README.md of the repository](../README.md).
7*08b48e0bSAndroid Build Coastguard Worker
8*08b48e0bSAndroid Build Coastguard WorkerAlso take a look at our [FAQ.md](FAQ.md) and
9*08b48e0bSAndroid Build Coastguard Worker[best_practices.md](best_practices.md).
10*08b48e0bSAndroid Build Coastguard Worker
11*08b48e0bSAndroid Build Coastguard Worker## Fuzzing targets with the source code available
12*08b48e0bSAndroid Build Coastguard Worker
13*08b48e0bSAndroid Build Coastguard WorkerYou can find a quickstart for fuzzing targets with the source code available in
14*08b48e0bSAndroid Build Coastguard Workerthe [README.md of the repository](../README.md#quick-start-fuzzing-with-afl).
15*08b48e0bSAndroid Build Coastguard Worker
16*08b48e0bSAndroid Build Coastguard WorkerFor in-depth information on the steps of the fuzzing process, see
17*08b48e0bSAndroid Build Coastguard Worker[fuzzing_in_depth.md](fuzzing_in_depth.md) or click on the following
18*08b48e0bSAndroid Build Coastguard Workerimage and select a step.
19*08b48e0bSAndroid Build Coastguard Worker
20*08b48e0bSAndroid Build Coastguard Worker![Fuzzing process overview](https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/dev/docs/resources/0_fuzzing_process_overview.drawio.svg "Fuzzing process overview")
21*08b48e0bSAndroid Build Coastguard Worker
22*08b48e0bSAndroid Build Coastguard WorkerFor further information on instrumentation, see the
23*08b48e0bSAndroid Build Coastguard Worker[READMEs in the instrumentation/ folder](../instrumentation/).
24*08b48e0bSAndroid Build Coastguard Worker
25*08b48e0bSAndroid Build Coastguard Worker### Instrumenting the target
26*08b48e0bSAndroid Build Coastguard Worker
27*08b48e0bSAndroid Build Coastguard WorkerFor more information, click on the following image and select a step.
28*08b48e0bSAndroid Build Coastguard Worker
29*08b48e0bSAndroid Build Coastguard Worker![Instrumenting the target](https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/dev/docs/resources/1_instrument_target.drawio.svg "Instrumenting the target")
30*08b48e0bSAndroid Build Coastguard Worker
31*08b48e0bSAndroid Build Coastguard Worker### Preparing the fuzzing campaign
32*08b48e0bSAndroid Build Coastguard Worker
33*08b48e0bSAndroid Build Coastguard WorkerFor more information, click on the following image and select a step.
34*08b48e0bSAndroid Build Coastguard Worker
35*08b48e0bSAndroid Build Coastguard Worker![Preparing the fuzzing campaign](https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/dev/docs/resources/2_prepare_campaign.drawio.svg "Preparing the fuzzing campaign")
36*08b48e0bSAndroid Build Coastguard Worker
37*08b48e0bSAndroid Build Coastguard Worker### Fuzzing the target
38*08b48e0bSAndroid Build Coastguard Worker
39*08b48e0bSAndroid Build Coastguard WorkerFor more information, click on the following image and select a step.
40*08b48e0bSAndroid Build Coastguard Worker
41*08b48e0bSAndroid Build Coastguard Worker![Fuzzing the target](https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/dev/docs/resources/3_fuzz_target.drawio.svg "Fuzzing the target")
42*08b48e0bSAndroid Build Coastguard Worker
43*08b48e0bSAndroid Build Coastguard Worker### Managing the fuzzing campaign
44*08b48e0bSAndroid Build Coastguard Worker
45*08b48e0bSAndroid Build Coastguard WorkerFor more information, click on the following image and select a step.
46*08b48e0bSAndroid Build Coastguard Worker
47*08b48e0bSAndroid Build Coastguard Worker![Managing the fuzzing campaign](https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/dev/docs/resources/4_manage_campaign.drawio.svg "Managing the fuzzing campaign")
48*08b48e0bSAndroid Build Coastguard Worker
49*08b48e0bSAndroid Build Coastguard Worker## Fuzzing other targets
50*08b48e0bSAndroid Build Coastguard Worker
51*08b48e0bSAndroid Build Coastguard WorkerTo learn about fuzzing other targets, see:
52*08b48e0bSAndroid Build Coastguard Worker
53*08b48e0bSAndroid Build Coastguard Worker* Binary-only: [fuzzing_binary-only_targets.md](fuzzing_binary-only_targets.md)
54*08b48e0bSAndroid Build Coastguard Worker* GUI programs:
55*08b48e0bSAndroid Build Coastguard Worker  [best_practices.md#fuzzing-a-gui-program](best_practices.md#fuzzing-a-gui-program)
56*08b48e0bSAndroid Build Coastguard Worker* Libraries: [frida_mode/README.md](../frida_mode/README.md)
57*08b48e0bSAndroid Build Coastguard Worker* Network services:
58*08b48e0bSAndroid Build Coastguard Worker  [best_practices.md#fuzzing-a-network-service](best_practices.md#fuzzing-a-network-service)
59*08b48e0bSAndroid Build Coastguard Worker* Non-linux: [unicorn_mode/README.md](../unicorn_mode/README.md)
60*08b48e0bSAndroid Build Coastguard Worker
61*08b48e0bSAndroid Build Coastguard Worker## Additional information
62*08b48e0bSAndroid Build Coastguard Worker
63*08b48e0bSAndroid Build Coastguard Worker* Tools that help fuzzing with AFL++:
64*08b48e0bSAndroid Build Coastguard Worker  [third_party_tools.md](third_party_tools.md)
65*08b48e0bSAndroid Build Coastguard Worker* Tutorials: [tutorials.md](tutorials.md)