about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2023-05-15push to stable (#1734)van Hauser
* 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>
2023-04-25fixvanhauser-thc
2023-04-25rename env to AFL_IGNORE_PROBLEMS_COVERAGEvanhauser-thc
2023-04-25afl-cmin -T supportvanhauser-thc
2023-04-25fixesvanhauser-thc
2023-04-25only reverse reading the queue on restartvanhauser-thc
2023-04-25Merge pull request #1713 from kenohassler/wafl-modevan Hauser
llvm-lto: allow skipping initialisation
2023-04-24document new env varKeno Hassler
2023-04-24afl-showmap -I optionvanhauser-thc
2023-04-22Merge pull request #1711 from atnwalk/atnwalkvan Hauser
AFL_POST_PROCESS_KEEP_ORIGINAL env variable for intermediate file formats and ATNwalk custom mutator
2023-04-22typovanhauser-thc
2023-04-21fixed formatting with make code-formatMaik Betka
2023-04-21Merge pull request #2 from AFLplusplus/devMaik Betka
Dev
2023-04-21fixed AFL_POST_PROCESS_KEEP_ORIGINAL for version 4.07aMaik Betka
2023-04-21add dummy functions to afl-showmap for old gcc compilersvanhauser-thc
2023-04-21dummy function for afl-showmapvanhauser-thc
2023-04-21Merge remote-tracking branch 'origin/dev' into atnwalkMaik Betka
# Conflicts: # include/afl-fuzz.h # src/afl-fuzz-run.c
2023-04-20afl-showmap custom mutator supportvanhauser-thc
2023-04-17fixed code clones in atnwalk.c, introduced new environment variable ↵Maik Betka
AFL_POST_PROCESS_KEEP_ORIGINAL in AFL++ to integrate atnwalk without re-compiling afl-fuzz
2023-04-17first version with unix domain sockets is ready for testingMaik Betka
2023-04-16hidden -Y option for nyx, code formatvanhauser-thc
2023-04-16Merge pull request #1702 from schumilo/devvan Hauser
add Nyx support in afl-showmap, afl-tmin, afl-cmin and afl-analyze
2023-04-16pass absolute paths to libnyxSergej Schumilo
2023-04-16remove redundant access() callSergej Schumilo
2023-04-16improved Nyx tmp dir handling (additional sanity checks)Sergej Schumilo
2023-04-16fix remove_nyx_tmp_workdir functionSergej Schumilo
2023-04-15fix post_processvanhauser-thc
2023-04-14add some sanity checks and remove duplicate nyx_shutdown callsSergej Schumilo
2023-04-14add NYX_REUSE_SNAPSHOT env-var optionSergej Schumilo
2023-04-14switch to latest libnyx APISergej Schumilo
2023-04-14add Nyx support in various tools (like afl-cmin)Sergej Schumilo
2023-04-13fix attempt at post_process implementationvanhauser-thc
2023-04-13remove -z option, use -p mmopt insteadvanhauser-thc
2023-04-10Merge pull request #1698 from neuschaefer/nodefervan Hauser
afl-cc: Don't offer __AFL_INIT() etc. in GCC/CLANG modes
2023-04-10afl-cc: Don't offer __AFL_INIT() etc. in GCC/CLANG modesJonathan Neuschäfer
instrumentation/README.persistent_mode.md documents in the section about deferred forkserver initialization: > With the location selected, add this code in the appropriate spot: > > ```c > #ifdef __AFL_HAVE_MANUAL_CONTROL > __AFL_INIT(); > #endif > ``` > > You don't need the #ifdef guards, but including them ensures that the program > will keep working normally when compiled with a tool other than afl-clang-fast/ > afl-clang-lto/afl-gcc-fast. > > Finally, recompile the program with afl-clang-fast/afl-clang-lto/afl-gcc-fast > (afl-gcc or afl-clang will *not* generate a deferred-initialization binary) - > and you should be all set! This strongly implies that you can compile a program that uses __AFL_INIT() under an `#ifdef __AFL_HAVE_MANUAL_CONTROL` guard with afl-gcc/-clang. However, this currently fails: $ cat example.c #include <stdio.h> int main(void) { #ifdef __AFL_HAVE_MANUAL_CONTROL __AFL_INIT(); #endif puts("Hello"); } $ afl-gcc example.c -o example afl-cc++4.06a by Michal Zalewski, Laszlo Szekeres, Marc Heuse - mode: GCC-GCC [!] WARNING: You are using outdated instrumentation, install LLVM and/or gcc-plugin and use afl-clang-fast/afl-clang-lto/afl-gcc-fast instead! afl-as++4.06a by Michal Zalewski [+] Instrumented 1 locations (64-bit, non-hardened mode, ratio 100%). /usr/bin/ld: /tmp/ccuJHcpt.o: in function `main': /home/jn/dev/fuzz/AFLplusplus/example.c:5: undefined reference to `__afl_manual_init' collect2: error: ld returned 1 exit status The issue here is an inconsistency in afl-gcc (i.e. afl-cc operating in GCC mode): - afl-cc defines __AFL_HAVE_MANUAL_CONTROL and __AFL_INIT unconditionally - __AFL_INIT relies on __afl_manual_init, which is defined in afl-compiler-rt.o - afl-cc doesn't link afl-compiler-rt in GCC or CLANG mode Since afl-gcc/-clang is documented as not supporting deferred forkserver initialization, this patch omits the definitions of __AFL_HAVE_MANUAL_CONTROL and related macros in GCC/CLANG mode. This restores the ability to compile a deferred-forkserver program under afl-gcc, if it can also be compiled under gcc. [ In case someone reads this an feels adventurous enough (as I did) to think about enabling deferred forkserver under afl-gcc: Whether the deferred forkserver actually works can be verified by placing a usleep(100000) or similar at the start of main (before __AFL_INIT()), and watching the execution speed. It doesn't work. ]
2023-04-09remove pointer to removed docvanhauser-thc
2023-04-08afl-cc: Avoid casts of string literals to char*, in definition of ↵Jonathan Neuschäfer
__AFL_INIT() etc. With the right -W options, compilers may complain about the cast of string literals (for PERSIST_SIG and DEFER_SIG) to (char*), and they're right to do so, because string literals are constant. Since some projects enable -Werror, this can lead to a broken build with afl-cc. Let's simply cast to (const char *), which preserves the constness of the string literal.
2023-04-08show custom mutator name in UIvanhauser-thc
2023-04-08hopefully better -z algorithmvanhauser-thc
2023-04-05fixvanhauser-thc
2023-04-05better new weightingvanhauser-thc
2023-04-05add -z switchvanhauser-thc
2023-04-02fix ui layout with slow targets in pizza modevanhauser-thc
2023-04-02allow pizza mode to be disabledvanhauser-thc
2023-04-02fix buffer overflow in pizza mode :(vanhauser-thc
2023-03-31nitsvanhauser-thc
2023-03-29introspectionvanhauser-thc
2023-03-28[afs-as] Allow debugging arguments after the input fileTulio Magno Quites Machado Filho
Clang may call as with extra debugging arguments after the input file, e.g. as --64 -o /tmp/hello-617ff5.o /tmp/hello-6b6f52.s -g -gdwarf-4
2023-03-28nitsvanhauser-thc
2023-03-27time_wo_finds in fuzzer_statsvanhauser-thc