68 Commits

Author SHA1 Message Date
van Hauser
8b7a7b29c6
Push to stable (#895)
* sync (#886)

* Create FUNDING.yml

* Update FUNDING.yml

* moved custom_mutator examples

* unicorn speedtest makefile cleanup

* fixed example location

* fix qdbi

* update util readme

* Frida persistent (#880)

* Added x64 support for persistent mode (function call only), in-memory teest cases and complog

* Review changes, fix NeverZero and code to parse the .text section of the main executable. Excluded ranges TBC

* Various minor fixes and finished support for AFL_INST_LIBS

* Review changes

Co-authored-by: Your Name <you@example.com>

* nits

* fix frida mode

* Integer overflow/underflow fixes in libdislocator (#889)

* libdislocator: fixing integer overflow in 'max_mem' variable and setting 'max_mem' type to 'size_t'

* libdislocator: fixing potential integer underflow in 'total_mem' variable due to its different values in different threads

* Bumped warnings up to the max and fixed remaining issues (#890)

Co-authored-by: Your Name <you@example.com>

* nits

* frida mode - support non-pie

* nits

* nit

* update grammar mutator

* Fixes for aarch64, OSX and other minor issues (#891)

Co-authored-by: Your Name <you@example.com>

* nits

* nits

* fix PCGUARD, build aflpp_driver with fPIC

* Added representative fuzzbench test and test for libxml (#893)

* Added representative fuzzbench test and test for libxml

* Added support for building FRIDA from source with FRIDA_SOURCE=1

Co-authored-by: Your Name <you@example.com>

* nits

* update changelog

* typos

* fixed potential double free in custom trim (#881)

* error handling, freeing mem

* frida: complog -> cmplog

* fix statsd writing

* let aflpp_qemu_driver_hook.so build fail gracefully

* fix stdin trimming

* Support for AFL_ENTRYPOINT (#898)

Co-authored-by: Your Name <you@example.com>

* remove the input file .cur_input at the end of the fuzzing, if AFL_TMPDIR is used

* reverse push (#901)

* Create FUNDING.yml

* Update FUNDING.yml

* disable QEMU static pie

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>

* clarify that no modifications are required.

* add new test for frida_mode (please review)

* typos

* fix persistent mode (64-bit)

* set ARCH for linux intel 32-bit for frida-gum-devkit

* prepare for 32-bit support (later)

* not on qemu 3 anymore

* unicorn mips fixes

* instrumentation further move to C++11 (#900)

* unicorn fixes

* more unicorn fixes

* Fix memory errors when trim causes testcase growth (#881) (#903)

* Revert "fixed potential double free in custom trim (#881)"

This reverts commit e9d2f72382cab75832721d859c3e731da071435d.

* Revert "fix custom trim for increasing data"

This reverts commit 86a8ef168dda766d2f25f15c15c4d3ecf21d0667.

* Fix memory errors when trim causes testcase growth

Modify trim_case_custom to avoid writing into in_buf because
some custom mutators can cause the testcase to grow rather than
shrink.

Instead of modifying in_buf directly, we write the update out
to the disk when trimming is complete, and then the caller is
responsible for refreshing the in-memory buffer from the file.

This is still a bit sketchy because it does need to modify q->len in
order to notify the upper layers that something changed, and it could
end up telling upper layer code that the q->len is *bigger* than
the buffer (q->testcase_buf) that contains it, which is asking
for trouble down the line somewhere...

* Fix an unlikely situation

Put back some `unlikely()` calls that were in
the e9d2f72382cab75832721d859c3e731da071435d commit that was
reverted.

* typo

* Exit on time (#904)

* Variable AFL_EXIT_ON_TIME description has been added.
Variables AFL_EXIT_ON_TIME and afl_exit_on_time has been added.
afl->exit_on_time variable initialization has been added.
The asignment of a value to the afl->afl_env.afl_exit_on_time variable from
environment variables has been added.
Code to exit on timeout if new path not found has been added.

* Type of afl_exit_on_time variable has been changed.
Variable exit_on_time has been added to the afl_state_t structure.

* Command `export AFL_EXIT_WHEN_DONE=1` has been added.

* Millisecond to second conversion has been added.
Call get_cur_time() has been added.

* Revert to using the saved current time value.

* Useless check has been removed.

* fix new path to custom-mutators

* ensure crashes/README.txt exists

* fix

* Changes to bump FRIDA version and to clone FRIDA repo in to build directory rather than use a submodule as the FRIDA build scripts don't like it (#906)

Co-authored-by: Your Name <you@example.com>

* Fix numeric overflow in cmplog implementation (#907)

Co-authored-by: Your Name <you@example.com>

* testcase fixes for unicorn

* remove merge conflict artifacts

* fix afl-plot

* Changes to remove binaries from frida_mode (#913)

Co-authored-by: Your Name <you@example.com>

* Frida cmplog fail fast (#914)

* Changes to remove binaries from frida_mode

* Changes to make cmplog fail fast

Co-authored-by: Your Name <you@example.com>

* afl-plot: relative time

* arch linux and mac os support for afl-system-config

* typo

* code-format

* update documentation

Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: WorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Dmitry Zheregelya <zheregelya.d@gmail.com>
Co-authored-by: hexcoder <hexcoder-@users.noreply.github.com>
Co-authored-by: hexcoder- <heiko@hexco.de>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
Co-authored-by: David CARLIER <devnexen@gmail.com>
Co-authored-by: realmadsci <71108352+realmadsci@users.noreply.github.com>
Co-authored-by: Roman M. Iudichev <SecNotice@ya.ru>
2021-05-10 13:57:47 +02:00
Andrea Fioraldi
d0225c2c4d disable QEMU static pie 2021-04-30 14:01:26 +02:00
vanhauser-thc
e41d1183cc fix nits 2021-04-16 00:41:32 +02:00
R. Elliott Childre
87eb44abe4 Remove QEMU dependency checks
Most of these packages (bison, flex, pixman (in non-system mode)) are no
longer dependencies of QEMU and regardless, QEMU's build system is quite
capable of finding dependencies by itself and will error out
accordingly.  This prevents having to further change this code as QEMU's
dependencies inevitably change.
2021-03-10 09:12:41 -05:00
Andrea Fioraldi
0d6e571237 better CROSS detection 2021-03-09 21:11:44 +01:00
Andrea Fioraldi
40ba8814b3 better CROSS detection 2021-03-09 21:05:58 +01:00
Andrea Fioraldi
a0a917ad87 better CROSS detection 2021-03-09 21:03:18 +01:00
Andrea Fioraldi
08ef8d6b78 NO_CHECKOUT=1 ./build_qemu_support.sh 2021-03-04 10:57:00 +01:00
Andrea Fioraldi
3977d50b55 update qemuafl and remove git stas 2021-03-04 10:52:22 +01:00
vanhauser-thc
07884e0054 feodora qemu lib fix 2021-03-01 09:37:07 +01:00
hexcoder
fe477e96ae
fix configure arguments 2021-02-15 09:24:13 +01:00
van Hauser
98fd50f78f
Merge branch 'stable' into dev 2021-02-14 22:42:13 +01:00
vanhauser-thc
95c77c8486 try qemu build fix 2021-02-14 11:46:23 +01:00
Andrea Fioraldi
91f2f057e4
fix #723 2021-02-11 21:17:08 +01:00
hexcoder-
08076f0500 fix qemu build script for Arch Linux ($CROSS) 2021-02-06 12:04:29 +01:00
Andrea Fioraldi
4488e8e10a fix qemu build script 2021-01-29 15:16:35 +01:00
Andrea Fioraldi
d21ca3e480 libqasan and use target cross compiler to compile target qemu libs 2021-01-29 15:14:20 +01:00
R. Elliott Childre
3282775a15 Cleanup QEMU configuration options
Take into account `STATIC`, `DEBUG`, and `PROFILING`

Turn off most options

Remove non-exsistant config options (e.g. bluez)
2020-12-17 14:23:16 -05:00
Dominik Maier
eda068751e streamlined grammar mutator submodule 2020-12-08 10:09:35 +01:00
Andrea Fioraldi
a260d34b49 persistent hook example 2020-11-02 14:15:44 +01:00
van Hauser
d3282ef1fe fix makefile 2020-09-09 10:37:04 +02:00
van Hauser
13f2ac83a9 fix GNUmakefile for new qemuafl 2020-09-08 11:48:31 +02:00
Andrea Fioraldi
b8d3a97a4f build with qemuafl 2020-09-01 13:08:32 +02:00
Your Name
a1c93f24d4 Fix support for mips in qemu mode 2020-08-05 12:19:43 +12:00
hexcoder-
a1beb72cad qemu_mode: fix error handling of mmap 2020-06-04 22:27:46 +02:00
Ruben ten Hove
4c253aedae use --python flag to point to python executable for qemu build 2020-05-14 21:49:36 +02:00
Ruben ten Hove
867f948bb2 create temp symlink to python3 for qemu mode if python isn't found 2020-05-14 21:49:36 +02:00
van Hauser
a63c838b10 make build options for qemu more visible 2020-05-06 14:16:19 +02:00
hexcoder-
724d4ec3de fix some gcc dependencies and build problems on debian 32-Bit,
adapted qemu_mode AFL_ENTRYPOINT test case for 32 bit
2020-04-19 00:37:23 +02:00
Dominik Maier
90ff345d73 Merge branch 'dev' of github.com:aflplusplus/aflplusplus into dev 2020-04-17 11:01:20 +02:00
Dominik Maier
8fa5d4c313 clearer code 2020-04-17 11:01:14 +02:00
van Hauser
16ce555845 fixed 2 unimportant leaks 2020-04-17 07:52:21 +02:00
hexcoder-
7698c051aa qemu_mode: compiler warnings, strncpy() leave one byte for terminator 2020-04-01 13:10:06 +02:00
hexcoder-
1950f09bde qemu_mode: fix more compiler warnings 2020-04-01 13:10:06 +02:00
Andrea Fioraldi
aac7c7d75d detect arm in build_qemu_support.sh 2020-03-22 12:09:52 +01:00
hexcoder-
a5af81506f qemu_mode/unicorn_mode scripts: fix '==' in '[' 2020-03-21 19:31:15 +01:00
hexcoder-
087bc6daeb qemu_mode and unicorn_mode build scripts: replace type with command -v 2020-03-21 19:22:55 +01:00
hexcoder-
6cbd0f1faf avoid calling awk for 'which' replacement, use POSIX 'command -v' instead 2020-03-21 18:51:43 +01:00
hexcoder-
dabce05ec6 qemu_mode/build script: add more missing prereqs 2020-03-21 10:46:23 +01:00
hexcoder-
2508008b53 qemu_mode, build script: avoid which, add patch to prereqs, list all
missing prereqs in one invocation
2020-03-21 10:31:39 +01:00
van Hauser
7fa289316a fix for qemu_mode where capstone 4.0+ is installed 2020-02-28 06:50:15 +01:00
Andrea Fioraldi
d606018ddb qemu bsd elfload patch 2020-02-17 14:21:31 +01:00
Andrea Fioraldi
e22ba031f5 AFL_ENTRYPOINT instruction granularity 2020-02-11 21:29:36 +01:00
Andrea Fioraldi
5fa4f47bae persistent qemu mode arm/arm64 && compcov arm64 2020-02-08 18:07:31 +01:00
Andrea Fioraldi
f2f6be5e99 afl qemu persistent hook 2020-02-07 20:43:17 +01:00
Andrea Fioraldi
b95cd8968d Merge branch 'master' of github.com:vanhauser-thc/AFLplusplus 2020-01-06 11:46:23 +01:00
Andrea Fioraldi
67cbeeb395 added ++ to copyright notes 2020-01-06 11:46:14 +01:00
van Hauser
3b9517ae73 v2.60d and year 2020 init 2019-12-31 13:01:08 +01:00
Andrea Fioraldi
9a2f2f1ee9 remove docs when building qemu static 2019-12-28 15:56:29 +01:00
David Carlier
5f0a252fae On non Linux systems, (g)make distrib stops halfway
because of QEMU not supported.
Symplifying cores counting data gathering.
2019-12-20 16:37:48 +00:00