This commit is contained in:
van Hauser
2019-10-21 11:28:32 +02:00
parent d0bbef74ef
commit be6bc155eb
7 changed files with 28 additions and 27 deletions

View File

@ -104,6 +104,13 @@ man: $(MANPAGES)
tests: source-only tests: source-only
@cd test ; ./test.sh @cd test ; ./test.sh
performance-tests: performance-test
test-performance: performance-test
performance-test: source-only
@cd test ; ./test-performance.sh
help: help:
@echo "HELP --- the following make targets exist:" @echo "HELP --- the following make targets exist:"
@echo "==========================================" @echo "=========================================="
@ -307,7 +314,7 @@ install: all $(MANPAGES)
install -m 755 $(PROGS) $(SH_PROGS) $${DESTDIR}$(BIN_PATH) install -m 755 $(PROGS) $(SH_PROGS) $${DESTDIR}$(BIN_PATH)
rm -f $${DESTDIR}$(BIN_PATH)/afl-as rm -f $${DESTDIR}$(BIN_PATH)/afl-as
if [ -f afl-qemu-trace ]; then install -m 755 afl-qemu-trace $${DESTDIR}$(BIN_PATH); fi if [ -f afl-qemu-trace ]; then install -m 755 afl-qemu-trace $${DESTDIR}$(BIN_PATH); fi
#if [ -f afl-gcc-fast ]; then set e; install -m 755 afl-gcc-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-gcc-fast $${DESTDIR}$(BIN_PATH)/afl-g++-fast; install -m 755 afl-gcc-pass.so afl-gcc-rt.o $${DESTDIR}$(HELPER_PATH); fi if [ -f afl-gcc-fast ]; then set e; install -m 755 afl-gcc-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-gcc-fast $${DESTDIR}$(BIN_PATH)/afl-g++-fast; install -m 755 afl-gcc-pass.so afl-gcc-rt.o $${DESTDIR}$(HELPER_PATH); fi
ifndef AFL_TRACE_PC ifndef AFL_TRACE_PC
if [ -f afl-clang-fast -a -f libLLVMInsTrim.so -a -f afl-llvm-rt.o ]; then set -e; install -m 755 afl-clang-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-clang-fast $${DESTDIR}$(BIN_PATH)/afl-clang-fast++; install -m 755 libLLVMInsTrim.so afl-llvm-pass.so afl-llvm-rt.o $${DESTDIR}$(HELPER_PATH); fi if [ -f afl-clang-fast -a -f libLLVMInsTrim.so -a -f afl-llvm-rt.o ]; then set -e; install -m 755 afl-clang-fast $${DESTDIR}$(BIN_PATH); ln -sf afl-clang-fast $${DESTDIR}$(BIN_PATH)/afl-clang-fast++; install -m 755 libLLVMInsTrim.so afl-llvm-pass.so afl-llvm-rt.o $${DESTDIR}$(HELPER_PATH); fi
else else

View File

@ -1,8 +1,8 @@
# american fuzzy lop plus plus (afl++) # american fuzzy lop plus plus (afl++)
Release Version: 2.57c Release Version: 2.58c
Github Version: 2.57d Github Version: 2.58d
includes all necessary/interesting changes from Google's afl 2.56b includes all necessary/interesting changes from Google's afl 2.56b
@ -52,13 +52,13 @@
A more thorough list is available in the PATCHES file. A more thorough list is available in the PATCHES file.
| Feature/Instrumentation | LLVM | GCC | QEMU | Unicorn | | Feature/Instrumentation | AFL-GCC | LLVM_MODE | GCC_PLUGIN | QEMU_MODE | Unicorn |
| ----------------------- |:----:|:---:|:----:| -------:| | ----------------------- |:-------:|:---------:|:----------:|:---------:|:-------:|
| laf-intel / CompCov | x | | x | x | | laf-intel / CompCov | | x | | x | x |
| NeverZero | x(1)| x | x | x | | NeverZero | X | x(1) | | x | x |
| Persistent mode | x | | x | | | Persistent mode | | x | X | x | |
| Whitelist | x | | | | | Whitelist | | x | X | | |
| InsTrim | x | | | | | InsTrim | | x | | | |
(1) only in LLVM >= 9.0 due to a bug in llvm in previous versions (1) only in LLVM >= 9.0 due to a bug in llvm in previous versions

5
TODO
View File

@ -7,11 +7,8 @@ afl-fuzz:
- test the libmutator actually works and does not run infinite (need an example though) - test the libmutator actually works and does not run infinite (need an example though)
gcc_plugin: gcc_plugin:
- needs to be rewritten
- whitelist support
- skip over uninteresting blocks
- laf-intel
- neverZero - neverZero
- laf-intel
qemu_mode: qemu_mode:
- update to 4.x (probably this will be skipped :( ) - update to 4.x (probably this will be skipped :( )

View File

@ -13,14 +13,16 @@ Want to stay in the loop on major new features? Join our mailing list by
sending a mail to <afl-users+subscribe@googlegroups.com>. sending a mail to <afl-users+subscribe@googlegroups.com>.
---------------------- --------------------------
Version ++2.57d (dev): Version ++2.58c (release):
---------------------- --------------------------
- reverted patch to not unlink and recreate the input file, it resulted in performance loss - reverted patch to not unlink and recreate the input file, it resulted in
performance loss of ~10%
- added test/test-performance.sh script - added test/test-performance.sh script
- (re)added gcc_plugin, fast inline instrumentation is not yet finished - (re)added gcc_plugin, fast inline instrumentation is not yet finished,
- added gcc_plugin tests however it includes the whitelisting and persistance feature! by hexcoder-
- gcc_plugin tests added to testing framework
-------------------------------- --------------------------------

View File

@ -156,7 +156,3 @@ depending on whether the input loop is being entered for the first time or
executed again. To avoid spurious warnings, the feature implies executed again. To avoid spurious warnings, the feature implies
AFL_NO_VAR_CHECK and hides the "variable path" warnings in the UI. AFL_NO_VAR_CHECK and hides the "variable path" warnings in the UI.
PS. Because there are task switches still involved, the mode isn't as fast as
"pure" in-process fuzzing offered, say, by LLVM's LibFuzzer; but it is a lot
faster than the normal fork() model, and compared to in-process fuzzing,
should be a lot more robust.

View File

@ -6,8 +6,7 @@ Using afl++ with partial instrumentation
that are interesting to you using the gcc instrumentation provided by that are interesting to you using the gcc instrumentation provided by
afl++. afl++.
Originally developed by Christian Holler (:decoder) <choller@mozilla.com>, Plugin by hexcoder-.
adapted to gcc plugin by hexcoder-.
## 1) Description and purpose ## 1) Description and purpose

View File

@ -26,7 +26,7 @@
/* Version string: */ /* Version string: */
#define VERSION "++2.57d" // c = release, d = volatile github dev #define VERSION "++2.58c" // c = release, d = volatile github dev
/****************************************************** /******************************************************
* * * *