40 Commits

Author SHA1 Message Date
van Hauser
0c054f520e
push to stable (#1960)
* Output afl-clang-fast stuffs only if necessary (#1912)

* afl-cc header

* afl-cc common declarations

 - Add afl-cc-state.c
 - Strip includes, find_object, debug/be_quiet/have_*/callname setting from afl-cc.c
 - Use debugf_args in main
 - Modify execvp stuffs to fit new aflcc struct

* afl-cc show usage

* afl-cc mode selecting

1. compiler_mode by callname in argv[0]
2. compiler_mode by env "AFL_CC_COMPILER"
3. compiler_mode/instrument_mode by command line options "--afl-..."
4. instrument_mode/compiler_mode by various env vars including "AFL_LLVM_INSTRUMENT"
5. final checking steps
6. print "... - mode: %s-%s\n"
7. determine real argv[0] according to compiler_mode

* afl-cc macro defs

* afl-cc linking behaviors

* afl-cc fsanitize behaviors

* afl-cc misc

* afl-cc body update

* afl-cc all-in-one

formated with custom-format.py

* nits

---------

Co-authored-by: vanhauser-thc <vh@thc.org>

* changelog

* update grammar mutator

* lto llvm 12+

* docs(custom_mutators): fix missing ':' (#1953)

* Fix broken LTO mode and response file support (#1948)

* Strip `-Wl,-no-undefined` during compilation (#1952)

Make the compiler wrapper stripping `-Wl,-no-undefined` in addition to `-Wl,--no-undefined`.
Both versions of the flag are accepted by clang and, therefore, used by building systems in the wild (e.g., samba will not build without this fix).

* Remove dead code in write_to_testcase (#1955)

The custom_mutators_count check in if case is duplicate with if condition.
The else case is custom_mutators_count == 0, neither custom_mutator_list iteration nor sent check needed.

Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>

* update qemuafl

* WIP: Add ability to generate drcov trace using QEMU backend (#1956)

* Document new drcov QEMU plugin

* Add link to lightkeeper for QEMU drcov file loading

---------

Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com>

* code format

* changelog

* sleep on uid != 0 afl-system-config

* fix segv about skip_next, warn on unsupported cases of linking options (#1958)

* todos

* ensure afl-cc only allows available compiler modes

* update grammar mutator

* disable aslr on apple

* fix for arm64

---------

Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Sonic <50692172+SonicStark@users.noreply.github.com>
Co-authored-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Nils Bars <nils.bars@rub.de>
Co-authored-by: Jean-Romain Garnier <7504819+JRomainG@users.noreply.github.com>
Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com>
2024-01-18 15:17:48 +00:00
vanhauser-thc
2230f88887 add --help/--version/... 2023-11-03 11:19:14 +01:00
Samuel E. Moelius III
71f9999f29 Adjust use of sudo 2023-08-19 11:19:07 -04:00
Samuel E. Moelius III
80f74934dd Don't hide errors 2023-08-19 08:43:47 -04:00
Samuel E. Moelius III
53c26d086b Loosen ReportCrash check 2023-08-19 08:17:23 -04:00
van Hauser
c4b1566ba3
push to stable (#1734)
* 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-05-15 10:51:37 +02:00
vanhauser-thc
96b7742611 enhancements to afl-persistent-config and afl-system-config 2022-09-28 21:36:25 +02:00
vanhauser-thc
0fe39e4768 egrep -> grep -e 2022-09-05 13:57:32 +02:00
Brenton Bostick
fd404194f2
Update afl-system-config
System Integration Protection -> System Integrity Protection
2022-06-27 11:38:33 -04:00
David Carlier
64cc345ec2 afl-system-config update proposal for OpenBSD.
The vast majority of security features can t be disabled but we can
act of allocation config.
2022-02-08 11:25:19 +00:00
vanhauser-thc
de90fd652e cmplog fix 2021-11-15 10:32:44 +01:00
vanhauser-thc
51b2e86ec0 fix links 2021-09-15 12:28:05 +02:00
vanhauser-thc
ea39e6d6e7 better macos sysctl settings 2021-07-28 08:40:42 +02:00
vanhauser-thc
4d55a427f0 afl-persistent-config Linux support + documentation 2021-07-23 09:06:18 +02:00
vanhauser-thc
197c8845ee update afl-system-config 2021-05-22 17:02:24 +02:00
vanhauser-thc
84e55e7a1b arch linux and mac os support for afl-system-config 2021-05-10 10:38:31 +02:00
hexcoder-
7181112233 better understandable directory creation logic 2021-04-06 20:43:26 +00:00
hexcoder-
19690b606d Haiku: create directory for debug_server, if not present 2021-04-06 19:03:53 +00:00
vanhauser-thc
e82ce95251 remove duplicate 2021-03-08 18:12:18 +01:00
vanhauser-thc
54c1087340 more system speed in afl-system-config 2021-03-08 15:12:54 +01:00
heiko
6036cf8437 BSD: how to avoid core dumps 2021-02-28 00:24:29 +01:00
hexcoder-
c2127e3ff7 disable the generation of core files in DragonFly BSD 2021-02-27 17:58:25 +01:00
van Hauser
6be3896bfa linux performance option 2021-02-02 14:41:31 +01:00
hexcoder
faefad564b Haiku afl-system-config disable debugger, afl-cc.c avoid -lrt 2021-01-05 16:49:04 +00:00
hexcoder-
6ed465bacc afl-system-config: cosmetic support for DragonFly 2021-01-02 23:14:29 +01:00
van Hauser
6e27c66058 ci fix 2020-12-21 12:48:02 +01:00
Dominik Maier
109560e73a tmpdir not needed with sharedmap fuzzing 2020-12-12 17:53:42 +01:00
Bernhard M. Wiedemann
20e63078f0 Fix generation of afl-system-config.8
and afl-whatsup.8

Without this patch, afl-system-config.8 varied between build hosts
because it contained lines such as
 ./afl-system-config: line 30: sysctl: command not found
 ./afl-system-config: line 31: /sys/kernel/mm/transparent_hugepage/enabled: Permission denied
 It is recommended to boot the kernel with lots of security off

See https://reproducible-builds.org/ for why this matters.

afl-system-config.8 is generated by the %.8 target in GNUmakefile
that calls commands with -hh to fill the OPTIONS section of man-pages.

This PR was done while working on reproducible builds for openSUSE.
2020-07-05 13:41:50 +02:00
van Hauser
5d2330f04e nicer output for afl-system-config 2020-01-25 05:27:10 +01:00
hexcoder-
a9404fe33f fix output from echo on NetBSD, now enables users to set cpu 2019-10-11 23:20:32 +02:00
David Carlier
1e4fb1f6fe Systen config typo for NetBSD 2019-10-11 20:07:45 +01:00
David Carlier
2109d37298 NetBSD various support improvements 2019-09-29 12:30:10 +01:00
hexcoder-
3f65f534aa On Mac OS X afl-fuzz wants the crash reporter to be disabled.
Add the corresponding commands to the script.
The test, if they need to be run, is not tested yet (just copied).
2019-09-28 13:19:27 +02:00
van Hauser
52bfd1fc3d added man pages 2019-09-04 12:14:35 +02:00
David Carlier
dd734a01dc system-config: making it more compatible with BSD systems.
The following knobs are Linux specifics but have few counterparts
in those systems.
2019-08-18 09:40:33 +01:00
van Hauser
6fa95008bc fix root check 2019-07-24 12:55:37 +02:00
Heiko Eißfeldt
13b8bc1a89 add root check 2019-07-19 11:08:23 +02:00
van Hauser
5fa19f2801 cpu scaling updated for newer kernels 2019-07-18 10:17:50 +02:00
van Hauser
f07d49e877 more power 2019-06-27 11:48:08 +02:00
van Hauser
429afb710c performance script and info 2019-05-29 09:42:13 +02:00