1111 Commits

Author SHA1 Message Date
van Hauser
fff7f1c558
Dev (#1962)
* Pure Python (3.6) port of benchmark.sh as benchmark.py, no other changes

* Test standard and persistent modes separately

* Add support for multi-core benchmarking

* Save the results to a json file

* Allow config of all experiment params, average across runs

* Add start_time_of_run and total_execs_per_sec, cleanup for PR

* benchmark: cleanup, add results, add a data exploration notebook

* benchmark: add a README, lower default runs from 5 to 3

* benchmark: notebook wording tweaks

* copy 'detect_leaks=0' from ASAN to LSAN

fix for issue #1733, set "detect_leaks=0" when ASAN_OPTIONS contains it and LSAN_OPTIONS are not set.

* fix of fix: make sure ASAN_OPTIONS and LSAN_OPTIONS agree on leak detection

* fix lsan fix

* clang-format 16->17

* Add missing initialisation for havoc_queued during the custom mutator's stage.

* fix dictionary and cmin

* Use direct call to write to OpenBSD

The linker on OpenBSD emits a warning when linking this file:
warning: syscall() may go away, please rewrite code to use direct calls

* Fix possible doc inconsistency for custom mutator's queue_get function.

* update todos

* benchmark: Add support for COMPARISON file

* benchmark: show the number of cores used in COMPARISON

* benchmark: lower minimum Python version to 3.8

* benchmark: use afl's execs/s; increase CPU model width

* benchmark: disallow duplicate entries for the same CPU in COMPARISON

* Update benchmark.py

* fix inf in stats

* Fix benchmark.py

* missing closing parenthesis

* Update benchmark.py

* benchmark: remove self-calculation of execs/sec

* benchmark: update COMPARISON

* benchmark: Update Jupyter notebook and results file.

* benchmark: rename afl_execs_per_sec to execs_per_sec

* benchmark: update README

* update

* add benchmark

* nits

* add benchmarks

* Update unicornafl ref

* Pass correct Nyx ID when creating a Nyx runner

* Fix typo in docker pull command, add exampe to mount current dir as volume (#1914)

* mini fix

* add custom_post_run.c

* update afl-fuzz-run

* update python module

* format code

* update

* merge function

* changes

* code format

* improve cmplog

* nit

* nit

* fix

* fix

* Stop hardcoding the path /usr/local/lib/afl in afl-ld-lto.c and respect the configured PREFIX.

* Add benchmark for Raspberry Pi 5

* ryzen 5950 benchmark

* add missing raspery5

* comparison -> comparison.md

* removing options "-Wl,-rpath" "LLVM_LIBDIR" when using gcc

* fixing -Wl,-rpath=<LLVM_LIBDIR>

* nits

* fix

* afl-cc fixes

* nit

* add n_fuzz to ignore_timeouts

* fix

* Fix #1927

* in-depth blog post

* add AFL_FUZZER_LOOPCOUNT

* AFL_FUZZER_LOOPCOUNT

* fix 2 mutation bugs

* v4.09c release

* v4.10a init

* switch to explore powerschedule as default

* fix MUT_INSERTASCIINUM

* fix MUT_STRATEGY_ARRAY_SIZE

* fix bad fix for MUT_STRATEGY_ARRAY_SIZE

* remove afl-network-client on uninstall

* update nyx

* Improve binary-only related docs

* llvm 18 build fixes.

* code format

* Fix custom_send link

Add a leading '/' to walk in the repo root instead of current dir.

* Use ../ instead

* initial simple injection detection support

* inject docs

* fix for issue #1916, iLLVM crash in split-floatingpoint-compares

* LLVM 17 bug workaround

* finish injection implementation

* remove tmp todo

* update changelog

* forgot to add the injection pass

* 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

* help selective instrumentation

* typos

* macos

* add compiler test script

* apple fixes

---------

Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Chris Ball <chris@printf.net>
Co-authored-by: hexcoder <hexcoder-@users.noreply.github.com>
Co-authored-by: hexcoder- <heiko@hexco.de>
Co-authored-by: Manuel Carrasco <m.carrasco@imperial.ac.uk>
Co-authored-by: Jasper Lievisse Adriaanse <j@jasper.la>
Co-authored-by: ifyGecko <26214995+ifyGecko@users.noreply.github.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Christian Holler (:decoder) <choller@mozilla.com>
Co-authored-by: Carlo Maragno <ste.maragno@gmail.com>
Co-authored-by: yangzao <yangzaocn@outlook.com>
Co-authored-by: Romain Geissler <romain.geissler@amadeus.com>
Co-authored-by: Jakob Lell <jakob@jakoblell.com>
Co-authored-by: vincenzo MEZZELA <vincenzo.mezzela@amadeus.com>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
Co-authored-by: Bet4 <0xbet4@gmail.com>
Co-authored-by: David Carlier <devnexen@gmail.com>
Co-authored-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Sonic <50692172+SonicStark@users.noreply.github.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-20 10:19:46 +00:00
vanhauser-thc
2230f88887 add --help/--version/... 2023-11-03 11:19:14 +01:00
Jesse Schwartzentruber
cf458a7d25 Add an env to afl-clang-fast to disable setting rpath if LLVM path isn't
recognized
2023-10-23 21:57:21 -04:00
vanhauser-thc
6b73dee7da add afl-addseeds tool 2023-09-30 12:42:40 +02:00
Thomas Rooijakkers
54f0148157
UTF-8 line rendering for status screen as default 2023-09-19 13:31:29 +02:00
Thomas Rooijakkers
0b6e74eeb0
Add support for UTF-8 line rendering 2023-09-13 15:49:04 +02:00
vanhauser-thc
3b835b7c8b increase sync length 2023-09-12 16:05:56 +02:00
vanhauser-thc
19c387a824 update multicore recommendation 2023-09-12 09:54:05 +02:00
vanhauser-thc
9307ef4b7c fix string transform laf 2023-09-04 09:11:47 +02:00
vanhauser-thc
1604351368 changelog 2023-08-31 14:45:03 +02:00
vanhauser-thc
c60431247e update docs 2023-08-29 16:38:31 +02:00
vanhauser-thc
549e5dd926 AFL_IGNORE_SEED_PROBLEMS 2023-08-23 18:02:33 +02:00
vanhauser-thc
19d0c6a4c5 afl-whatsup startup detection 2023-08-23 17:35:24 +02:00
vanhauser-thc
f41d121f07 afl-whatsup -m -n 2023-08-22 10:03:03 +02:00
vanhauser-thc
213298fe59 afl-whatsup add coverage output 2023-08-21 16:38:48 +02:00
vanhauser-thc
c2c8e780a5 add benchmark 2023-08-16 10:50:07 +02:00
vanhauser-thc
4d8d8633ff update faq 2023-08-13 11:44:37 +02:00
marc
8823f22a9c add AFL_FINAL_SYNC 2023-08-11 11:22:18 +02:00
marc
9607d1db06 v4.09a init 2023-08-10 10:56:20 +02:00
marc
3721c65a0b v4.08c release 2023-08-10 10:41:55 +02:00
van Hauser
b4bd33961c
Merge pull request #1821 from junwha0511/crashing-seeds-as-new-crash
Implement an option for treating crashing seeds as new crash
2023-08-09 14:39:25 +00:00
marc
d9cadb2e7d -c - support 2023-08-09 16:31:30 +02:00
vanhauser-thc
0a28bce016 update docs 2023-08-04 09:45:11 +02:00
Junwha
a61e1ffe4d Add AFL_CRASHING_SEEDS_AS_NEW_CRASH to doc
Signed-off-by: Junwha <qbit@unist.ac.kr>
2023-08-02 19:21:41 +09:00
vanhauser-thc
f87ba7ed63 doc fix 2023-07-28 15:18:12 +02:00
vanhauser-thc
5f813bbb86 improve cmplog level 3 2023-07-21 18:02:30 +02:00
vanhauser-thc
534b3eba14 qemu_get_symbol_addr.sh 2023-07-13 10:10:30 +02:00
vanhauser-thc
20dcb40c53 fix cmin -T 2023-07-08 13:31:06 +02:00
vanhauser-thc
3e1d794107 update mutation strategy 2023-06-29 16:57:20 +02:00
vanhauser-thc
edd352612d code format 2023-06-24 09:30:09 +02:00
vanhauser-thc
90f83c13d0 remove dead code, code format 2023-06-22 09:26:46 +02:00
vanhauser-thc
64b15a00f2 fix afl-cmin* for old afl vanilla issue 2023-06-21 12:20:10 +02:00
vanhauser-thc
51ab51ca27 update tutorial list 2023-06-21 09:04:08 +02:00
vanhauser-thc
7b29f2cd24 fix timeout for sessions restart and + usage 2023-06-20 19:58:14 +02:00
vanhauser-thc
3ad8e9856c update changelog 2023-06-12 09:23:57 +02:00
vanhauser-thc
61b6f4ed9e 4.08a init 2023-06-12 09:16:15 +02:00
vanhauser-thc
bf2727b763 v4.07c release 2023-06-12 08:28:47 +02:00
vanhauser-thc
e71d422b3c enhance custom mutator docs 2023-06-08 08:42:23 +02:00
vanhauser-thc
88603a2c2e add issue to faq 2023-06-07 15:17:46 +02:00
vanhauser-thc
a4b9272416 fix gcc cmplog crash 2023-06-07 10:58:10 +02:00
vanhauser-thc
9324f3f628 rewrote PCGUARD 2023-06-01 12:19:45 +02:00
fanquake
b08e6bf8c6
doc: recommend llvm/clang-14 in docs
Might as well recommend installing 14, as that's newer, and what's used
in Docker.

Also remove outdated Dockerfile versions, likely easier to remove
versions here entirely, and anyone that wants to see what version is
used, can look in the Dockerfile.
2023-05-30 16:31:09 +01:00
vanhauser-thc
1d0694df86 add symqemu custom mutator 2023-05-17 15:25:26 +02:00
vanhauser-thc
dfdc6fd12c add missing envs in the docs 2023-05-16 14:54:02 +02:00
vanhauser-thc
7f636dbfc2 add @responsefile support for afl-cc 2023-05-12 15:58:20 +02:00
vanhauser-thc
93c821aaa3 afl-clang-lto incomptable with -flto=thin 2023-05-12 08:39:11 +02:00
vanhauser-thc
a752b15921 update qemu_mode 2023-05-12 08:29:31 +02:00
Dominik Maier
3a98d7af18 qemuafl: Persistent mode for PPC32 targets 2023-05-11 21:02:46 +02:00
vanhauser-thc
70da0c2e40 better tritondse support 2023-05-10 16:09:18 +02:00
vanhauser-thc
fcab3ec990 docs 2023-05-01 08:55:37 +02:00