7305 Commits

Author SHA1 Message Date
van Hauser
ebdb71aeb0
Merge pull request #2002 from seanm/issue2001
issue #2001: fix passing rpath to linker on macOS
2024-02-16 10:14:56 +01:00
Sean McBride
6dc58750cf issue #2001: fix passing rpath to linker on macOS
Seems on macOS, `ld` does not want an `=` when specifying `-rpath`.
2024-02-15 19:19:51 -05:00
Max Ammann
1b84448be3 afl-persistent-config: Use GRUB_CMDLINE_LINUX instead of GRUB_CMDLINE_LINUX_DEFAULT.
The latter is often overwritten in images used in cloud setups. For example DigitalOcean sets GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0" in /etc/default/grub.d/
2024-02-14 15:55:32 +00:00
vanhauser-thc
61ceef64b1 valid comparison.md 2024-02-13 20:14:35 +01:00
vanhauser-thc
5404eef7be update docs 2024-02-09 17:08:23 +01:00
vanhauser-thc
6fed799957 unicorn fix 2024-02-09 14:14:12 +01:00
vanhauser-thc
dd88069711 fix 2024-02-09 13:57:45 +01:00
vanhauser-thc
07bc202e0a fixes 2024-02-09 13:51:05 +01:00
vanhauser-thc
f2b7357ff3 fixes 2024-02-09 13:09:23 +01:00
van Hauser
3cbaefd247
Merge pull request #1995 from seanm/issue1981
Fixed issue #1981: document PATH correctly based on homebrew version
2024-02-09 10:31:38 +01:00
Sean McBride
037a14f621 Fixed issue #1981: document PATH correctly based on homebrew version
- removed reference to M1 as M2 and M3 exist now too.
- Also use current name and spelling of "macOS".
2024-02-08 21:15:59 -05:00
vanhauser-thc
88e41f01c8 env fix 2024-02-08 15:28:19 +01:00
vanhauser-thc
369fce9c85 code format 2024-02-08 15:13:46 +01:00
vanhauser-thc
eaf4a29930 make redqueen hashmap not default 2024-02-08 14:54:10 +01:00
van Hauser
48070e0148
Merge branch '420' into dev 2024-02-08 14:51:13 +01:00
vanhauser-thc
c23bbddde9 workaround for MOpt bug with -S 2024-02-08 14:31:36 +01:00
vanhauser-thc
038fef962c performance 2024-02-08 12:46:08 +01:00
van Hauser
42c663e7c7
Merge pull request #1965 from CodeLinaro/stateful
replay mode support
2024-02-08 10:29:33 +01:00
Davide Quarta
956fa95d77 updated readme 2024-02-07 12:00:11 +01:00
Davide Quarta
ea0ea88ed3 add conditional check for persistent record mode on forkserver handling of hang/crash 2024-02-07 12:00:01 +01:00
van Hauser
e0e8645d6c
Merge pull request #1990 from monik3r/dev
Add 7950x3d and 6900hs benchmarks, with and without mitigations
2024-02-07 09:03:01 +01:00
monik3r
a2100f32e0 Add missing jsonl entry. Thanks @cjb! 2024-02-06 21:00:43 -08:00
monik3r
25a6c2c006 Add benmark-results.jsonl 2024-02-06 20:39:34 -08:00
monik3r
7f8347b12e Add 7950x3d and 6900hs benchmarks, with and without mitigations 2024-02-06 20:24:31 -08:00
Davide Quarta
8e4bd0314e added README.md to utils/replay_record 2024-02-06 21:34:56 +01:00
Davide Quarta
a7fd84e186 fix typo 2024-02-06 21:25:40 +01:00
Davide Quarta
e405e721fa reuse first_pass aux var in persistent loop for record replay mode, keep area ptr and loc logic intact in record replay mode, move replay record example to own dir in utils, update docs, move record compat layer to separate header file 2024-02-06 18:19:52 +01:00
Davide Quarta
49d4fa4346 add replay_record binaries to .gitignore 2024-02-06 18:16:37 +01:00
vanhauser-thc
375aca2997 nits 2024-02-06 14:49:21 +01:00
vanhauser-thc
9f8eea5467 add spec_rstack_overflow=off to persistent-config 2024-02-06 14:25:39 +01:00
Davide Quarta
58aa181d01 revert persistent_demo_new.c to b99bbf671b7469a5aad29898fe28489004c4cbe7 2024-02-06 14:00:37 +01:00
vanhauser-thc
f49e391022 prevent afl-whatsup tmp files 2024-02-06 10:48:24 +01:00
vanhauser-thc
698f1e272b fix hashmap test 2024-02-06 09:34:21 +01:00
Davide Quarta
023fc19ce0 better replay mode error handling, added replay mode documentation, code formatting 2024-02-05 18:26:46 +01:00
vanhauser-thc
40df85d1e6 adjust cmplog header 2024-02-05 15:05:46 +01:00
vanhauser-thc
47e7d243f7 increase version 2024-02-04 16:18:21 +01:00
vanhauser-thc
6d209ce045 fix -z 2024-02-04 16:16:32 +01:00
vanhauser-thc
34a3060b0f config __afl_cmplog_max_len 2024-02-04 16:08:57 +01:00
vanhauser-thc
c77709cdd9 add U256/32byte support 2024-02-04 16:03:12 +01:00
vanhauser-thc
27338fcef1 new forkserver - client side 2024-02-03 18:27:01 +01:00
vanhauser-thc
9fab7e892d new forkserver - server part 2024-02-03 16:48:38 +01:00
vanhauser-thc
dc151caa18 add lto caller instrumentation 2024-02-03 15:53:54 +01:00
van Hauser
e1d7f4af35
Merge pull request #1988 from AFLplusplus/ltoctx
Ltoctx
2024-02-03 15:08:52 +01:00
vanhauser-thc
d85722a4f6 deterministic fuzzing and -z 2024-02-03 13:31:31 +01:00
van Hauser
775861ea94
Merge pull request #1985 from AFLplusplus/dev
push to stable
v4.10c
2024-02-03 11:57:27 +01:00
van Hauser
602eceed8b
push to stable (#1983)
* 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

* bump nyx submodules (#1963)

* fix docs

* update changelog

* update grammar mutator

* improve compiler test script

* gcc asan workaround (#1966)

* fix github merge fuckup

* fix

* Fix afl-cc (#1968)

- Check if too many cmdline params here, each time before insert a new param.
 - Check if it is "-fsanitize=..." before we do sth.
 - Remove improper param_st transfer.

* Avoid adding llvmnative instrumentation when linking rust sanitizer runtime (#1969)

* Dynamic instrumentation filtering for LLVM native (#1971)

* Add two dynamic instrumentation filter methods to runtime

* Always use pc-table with native pcguard

* Add make_symbol_list.py and README

* changelog

* todos

* new forkserver check

* fix

* nyx test for CI

* improve nyx docs

* Fixes to afl-cc and documentation (#1974)

* Always compile with -ldl when building for CODE_COVERAGE

When building with CODE_COVERAGE, the afl runtime contains code that
calls `dladdr` which requires -ldl. Under most circumstances, clang
already adds this (e.g. when building with pc-table), but there are some
circumstances where it isn't added automatically.

* Add visibility declaration to __afl_connected

When building with hidden visibility, the use of __AFL_LOOP inside such
code can cause linker errors due to __afl_connected being declared
"hidden".

* Update docs to clarify that CODE_COVERAGE=1 is required for dynamic_covfilter

* nits

* nyx build script updates

* test error output

* debug ci

* debug ci

* Improve afl-cc (#1975)

* update response file support

 - full support of rsp file
 - fix some segv issues

* Improve afl-cc

 - remove dead code about allow/denylist options of sancov
 - missing `if (!aflcc->have_msan)`
 - add docs for each function
 - typo

* enable nyx

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* fix ci

* clean test script

* NO_NYX

* NO_NYX

* fix ci

* debug ci

* fix ci

* finalize ci fix

* Enhancement on Deterministic stage (#1972)

* fuzzer: init commit based on aflpp 60dc37a8cf09f8e9048e4b6a2204d6c90b27655a

* fuzzers: adding the skip variables and initialize

* log: profile the det/havoc finding

* log: add profile log output

* fuzzers: sperate log/skipdet module

* fuzzers: add quick eff_map calc

* fuzzers: add skip_eff_map in fuzz_one

* fuzzers: mark whole input space in eff_map

* fuzzers: add undet bit threshold to skip some seeds

* fuzzers: fix one byte overflow

* fuzzers: fix overflow

* fix code format

* add havoc only again

* code format

* remove log to INTROSPECTION, rename skipdet module

* rename skipdet module

* remove log to stats

* clean redundant code

* code format

* remove redundant code format check

* remove redundant doc

* remove redundant objects

* clean files

* change -d to default skipdet

* disable deterministic when using CUSTOM_MUTATOR

* revert fix

* final touches for skipdet

* remove unused var

* remove redundant eff struct (#1977)

* update QEMU-Nyx submodule (#1978)

* update QEMU-Nyx submodule (#1980)

* Fix type in AFL_NOOPT env variable in afl-cc help message (#1982)

* nits

* 2024 v4.10c release

* fixes

---------

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>
Co-authored-by: Sergej Schumilo <sergej@schumilo.de>
Co-authored-by: Christian Holler (:decoder) <choller@mozilla.com>
Co-authored-by: Han Zheng <35988108+kdsjZh@users.noreply.github.com>
Co-authored-by: Khaled Yakdan <yakdan@code-intelligence.com>
2024-02-03 10:55:51 +00:00
vanhauser-thc
68dc4829b3 fixes 2024-02-03 11:40:19 +01:00
vanhauser-thc
a25f27de28 fixes 2024-02-03 11:37:21 +01:00
vanhauser-thc
ed1a6f8a57 2024 v4.10c release 2024-02-03 11:01:31 +01:00
vanhauser-thc
a9292626a6 nits 2024-02-03 10:55:13 +01:00