mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-08 08:11:34 +00:00
* afl++ -> AFL++ * update readme * more debug * slightly different weighting algo (#1719) * better seed selection * slightly different weighting calculation * remove unnecessary memset * Add "Hangs saved" to afl-whatsup (#1717) The hangs could show long or infinite loops. This is important. Co-authored-by: van Hauser <vh@thc.org> * nits * afl-showmap: Start a only a single fork server (#1718) A forkserver is started by afl_fsrv_get_mapsize() when dynamically finding the map size. When an input directory option is specified a second fork server was also started. This commit re-arranges the inits for several forkserver struct members so that we can re-use the server started by the get_mapsize() call when not in coresight/qemu/unicorn modes and just start the server otherwise. * Source Code Coverage support for Nyx (Part 1) (#1720) * Additional source code reformatting in afl-compiler-rt * Add source code coverage support to afl-compiler-rt (for use with Nyx) * doc, code format * llvm 17 changes * more llvm 17 * add frida mode tutorial * fix effector map * docs * Should memset EFF_ALEN(len) of eff_map (#1722) * fix reallocs * fix afl-system-config for macos * afl-fuzz.c: Document -i - in --help (#1725) afl-fuzz.c: Document `-i -` in `--help`, to write that `-i` can be passed '-' to resume the prior fuzzing job. Also reference AFL_AUTORESUME so users know they can set that parameter to sidestep the issue entirely. * tritondse custom mutator attempt * tritondse fixes * update libnyx (#1727) * GNUmakefile: Update LLVM instructions (#1728) Update LLVM instructions, because versions higher than 14 are supported and to be explicit that LLD is also required * disable macos in the ci, works fine for me * fix makefile * better tritondse support * next steps for tritondse * qemuafl: Persistent mode for PPC32 targets * update qemu_mode * afl-clang-lto incomptable with -flto=thin * add @responsefile support for afl-cc --------- Co-authored-by: fxlb <devel.fx.lebail@orange.fr> Co-authored-by: Nick Potenski <nick.potenski@garmin.com> Co-authored-by: Christian Holler (:decoder) <choller@mozilla.com> Co-authored-by: lazymio <mio@lazym.io> Co-authored-by: Moshe Kaplan <me@moshekaplan.com> Co-authored-by: Sergej Schumilo <sergej@schumilo.de> Co-authored-by: Dominik Maier <domenukk@gmail.com>
3.2 KiB
3.2 KiB
Tutorials
If you are a total newbie, try this guide:
Here are some good write-ups to show how to effectively use AFL++:
- https://aflplus.plus/docs/tutorials/libxml2_tutorial/
- https://bananamafia.dev/post/gb-fuzz/
- https://securitylab.github.com/research/fuzzing-challenges-solutions-1
- https://securitylab.github.com/research/fuzzing-software-2
- https://securitylab.github.com/research/fuzzing-sockets-FTP
- https://securitylab.github.com/research/fuzzing-sockets-FreeRDP
- https://securitylab.github.com/research/fuzzing-apache-1
- https://mmmds.pl/fuzzing-map-parser-part-1-teeworlds/
If you do not want to follow a tutorial but rather try an exercise type of training, then we can highly recommend the following:
Here is good workflow description for frida_mode:
If you are interested in fuzzing structured data (where you define what the structure is), these links have you covered (some are outdated though):
- libprotobuf for AFL++: https://github.com/P1umer/AFLplusplus-protobuf-mutator
- libprotobuf raw: https://github.com/bruce30262/libprotobuf-mutator_fuzzing_learning/tree/master/4_libprotobuf_aflpp_custom_mutator
- libprotobuf for old AFL++ API: https://github.com/thebabush/afl-libprotobuf-mutator
- Superion for AFL++: https://github.com/adrian-rt/superion-mutator
Video Tutorials
- Install AFL++ Ubuntu
- [Fuzzing with AFLplusplus] Installing AFLPlusplus and fuzzing a simple C program
- [Fuzzing with AFLplusplus] How to fuzz a binary with no source code on Linux in persistent mode
- Blackbox Fuzzing #1: Start Binary-Only Fuzzing using AFL++ QEMU mode
- HOPE 2020 (2020): Hunting Bugs in Your Sleep - How to Fuzz (Almost) Anything With AFL/AFL++
- How Fuzzing with AFL works!
- WOOT '20 - AFL++ : Combining Incremental Steps of Fuzzing Research
If you find other good ones, please send them to us :-)