621 Commits

Author SHA1 Message Date
vanhauser-thc
146e535f7b persistent record for frida and qmeu 2024-10-01 10:13:35 +02:00
Sergej Schumilo
1d6cd5dd19 fix AFL_AUTORESUME=1 for Nyx mode 2024-09-14 03:51:20 +02:00
vanhauser-thc
fc7c95e9f4 nits 2024-09-12 10:24:05 +02:00
vanhauser-thc
1689a8e053 code format, llvm 18 2024-08-19 16:25:32 +02:00
Thomas Hebb
9df9064549 Fix syntax error when compiling without zlib
commit ecb5854be08fa ("add zlib compression for fast resume") added new
logic selected at compile-time when zlib is present. Unfortunately, it
also broke the existing logic by removing the last line of a multi-line
if statement, resulting in a syntax error when zlib isn't present.

Restore the line as it was.
2024-08-06 11:37:19 -07:00
vanhauser-thc
ccb952dde8 Revert "Replace gettimeofday with clock_gettime (#2159)"
This reverts commit 7c380a6612f00e4a7ed02364dc2b3769e8edc8f8.
2024-07-14 10:18:23 +02:00
carpintero-de-c
7c380a6612
Replace gettimeofday with clock_gettime (#2159) 2024-07-14 00:25:58 +02:00
William Tan
bd83eb0f42
check the sync_id length once 2024-07-12 16:22:17 -04:00
Takuya Shimizu
02f4f75526 Fix missed updates of alias table when INTROSPECTION is on
In src/afl-fuzz.c `prev_queued_items` is used to decide whether the alias table should be recreated through the comparison with `afl->queued_items`.
43f462c91b/src/afl-fuzz.c (L3103-L3117)

However, this variable is also updated to `afl->queued_items` when INTROSPECTION is enabled and the `fuzz_one` appends seeds.
43f462c91b/src/afl-fuzz.c (L3135-L3140)

Due to the update of `prev_queued_items` when INTROSPECTION is on, alias table may not be recreated when it actually should be.

This can lead to potential heap buffer-overflow in `select_next_queue_entry` due to the lack of `afl_realloc` called in `create_alias_table`.

This patch fixes this bug by utilizing another variable for the INTROSPECTION part like other variables such as `prev_saved_tmouts`.
2024-07-10 21:39:04 +09:00
vanhauser-thc
ba7313b521 AFL_CUSTOM_MUTATOR_LATE_SEND added 2024-06-27 18:51:58 +02:00
vanhauser-thc
ecb5854be0 add zlib compression for fast resume 2024-06-21 14:40:23 +02:00
killerra
2fbc0aefb1
Auto disable memory limits for FASAN 2024-06-20 00:10:40 +02:00
Christian Holler (:decoder)
8fcca6fb41 Collect persistent coverage data and dump it at the end of the run
With CODE_COVERAGE builds, we need to collect the coverage data of each
iteration in a persistant buffer that has the same size as the regular
trace buffer used for fuzzing. We dump this information at the end of
the run and when combined with pointer data and module info, this can be
used to calculate code coverage.
2024-06-19 12:36:58 +02:00
vanhauser-thc
b8568034f0 code format and changelog 2024-06-18 15:42:34 +02:00
van Hauser
3ebf41ba34
Merge pull request #2128 from AFLplusplus/fastrestart
Fastrestart
2024-06-18 15:28:56 +02:00
vanhauser-thc
304e84502d fast resume option 2024-06-18 15:24:38 +02:00
vanhauser-thc
de176a10bc nit 2024-06-17 09:31:42 +02:00
vanhauser-thc
dd762726dc fastresume implementation 2024-06-12 09:10:35 +02:00
vanhauser-thc
6ed0a2b4aa fast resume setup detection 2024-06-10 18:22:06 +02:00
vanhauser-thc
31652eeb2a nit 2024-06-09 12:19:58 +02:00
vanhauser-thc
4bb4d4ad00 fix -n 2024-06-09 12:16:32 +02:00
vanhauser-thc
5331eca5d9 allow multiple -m 2024-06-09 12:02:59 +02:00
vanhauser-thc
12a87cfacb nits 2024-06-05 10:40:12 +02:00
vanhauser-thc
2806d6be2f optimize syncing 2024-06-05 09:20:30 +02:00
vanhauser-thc
2d9b793dbb AFL_NO_SYNC 2024-06-04 14:48:02 +02:00
vanhauser-thc
56d5aa3101 log 2024-05-17 23:55:43 +02:00
Cornelius Aschermann
6dd5e931fc Fix runtime underflow & -V exiting before syncing
print_stats sets exit_soon even while syncing, this leaves -V 0 still broken, as we don't finish syncing.

Additionally, the change that introduced the previous -V fix also broke the runtime tracking, as runtime needs to include all time including sync, splice etc. This caused an underflow in the reported runtime.
2024-05-17 14:33:32 -07:00
nj00001
5ee5564ae2
backup afl->max_length to afl->fsrv.max_length 2024-05-14 18:28:18 +08:00
vanhauser-thc
622474e9e4 disable -> no variants 2024-05-13 19:51:38 +02:00
vanhauser-thc
26eaf53a83 AFL_DISABLE_REDUNDANT 2024-05-02 08:35:24 +02:00
vanhauser-thc
40adc34413 fix -V, code format 2024-04-09 09:24:19 +02:00
Cornelius Aschermann
48a862c503 :Adds stats tracking time spend in calibration/trim/sync
This currently does not affect statsd nor the UI. Only the fuzzer_stats file is updated
2024-04-08 11:54:19 -07:00
vanhauser-thc
b85174fc8d nit 2024-03-12 04:00:19 +01:00
vanhauser-thc
036a79268b gcc cmplog fix 2024-02-29 09:10:29 +01:00
Leon Weiß
fae760fc9e Add upper and lower safety margins 2024-02-23 13:39:46 +01:00
Leon Weiß
eaedf2e62f Adhere to documented behavior 2024-02-23 12:52:11 +01:00
Leon Weiß
07e0b39126 Do not circumvent sanity checks from arg parsing 2024-02-22 15:55:18 +01:00
Leon Weiß
98238ed763 Convert from microseconds (us) to milliseconds (ms) 2024-02-22 15:28:55 +01:00
vanhauser-thc
369fce9c85 code format 2024-02-08 15:13:46 +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
vanhauser-thc
6d209ce045 fix -z 2024-02-04 16:16:32 +01:00
vanhauser-thc
c77709cdd9 add U256/32byte support 2024-02-04 16:03:12 +01:00
vanhauser-thc
d85722a4f6 deterministic fuzzing and -z 2024-02-03 13:31:31 +01:00
vanhauser-thc
ed1a6f8a57 2024 v4.10c release 2024-02-03 11:01:31 +01:00
vanhauser-thc
5ba66a8860 final touches for skipdet 2024-02-01 15:22:51 +01:00
Han Zheng
06f0982f0f
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
2024-02-01 14:13:21 +00:00
vanhauser-thc
9604fe922e nyx test for CI 2024-01-30 15:06:34 +01:00