Merge pull request #1874 from AFLplusplus/dev

push to stable
This commit is contained in:
van Hauser 2023-09-27 16:33:43 +02:00 committed by GitHub
commit 1c582b6aee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 58 additions and 24 deletions

View File

@ -45,6 +45,10 @@ ifdef NO_SPLICING
override CFLAGS_OPT += -DNO_SPLICING override CFLAGS_OPT += -DNO_SPLICING
endif endif
ifdef NO_UTF
override CFLAGS_OPT += -DFANCY_BOXES_NO_UTF
endif
ifdef ASAN_BUILD ifdef ASAN_BUILD
$(info Compiling ASAN version of binaries) $(info Compiling ASAN version of binaries)
override CFLAGS += $(ASAN_CFLAGS) override CFLAGS += $(ASAN_CFLAGS)
@ -391,6 +395,7 @@ help:
@echo INTROSPECTION - compile afl-fuzz with mutation introspection @echo INTROSPECTION - compile afl-fuzz with mutation introspection
@echo NO_PYTHON - disable python support @echo NO_PYTHON - disable python support
@echo NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing @echo NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing
@echo NO_UTF - do not use UTF-8 for line rendering in status screen (fallback to G1 box drawing, of vanilla AFL)
@echo NO_NYX - disable building nyx mode dependencies @echo NO_NYX - disable building nyx mode dependencies
@echo "NO_CORESIGHT - disable building coresight (arm64 only)" @echo "NO_CORESIGHT - disable building coresight (arm64 only)"
@echo NO_UNICORN_ARM64 - disable building unicorn on arm64 @echo NO_UNICORN_ARM64 - disable building unicorn on arm64

View File

@ -4,6 +4,7 @@
- afl-showmap -f support - afl-showmap -f support
- afl-fuzz multicore wrapper script - afl-fuzz multicore wrapper script
- add value_profile but only enable after 15 minutes without finds
- afl-crash-analysis - afl-crash-analysis
- support persistent and deferred fork server in afl-showmap? - support persistent and deferred fork server in afl-showmap?
- better autodetection of shifting runtime timeout values - better autodetection of shifting runtime timeout values

View File

@ -98,9 +98,9 @@ if [[ "$PLATFORM" = "Linux" ]] ; then
echo "Checks passed." echo "Checks passed."
test -d /etc/sysctl.d || echo Error: /etc/sysctl.d directory not found, cannot install shmem config test -d /etc/sysctl.d || echo Error: /etc/sysctl.d directory not found, cannot install shmem config
test -d /etc/sysctl.d -a '!' -e /etc/sysctl.d/99-fuzzing && { test -d /etc/sysctl.d -a '!' -e /etc/sysctl.d/99-fuzzing.conf && {
echo "Installing /etc/sysctl.d/99-fuzzing" echo "Installing /etc/sysctl.d/99-fuzzing.conf"
cat << EOF > /etc/sysctl.d/99-fuzzing cat << EOF > /etc/sysctl.d/99-fuzzing.conf
kernel.core_uses_pid=0 kernel.core_uses_pid=0
kernel.core_pattern=core kernel.core_pattern=core
kernel.randomize_va_space=0 kernel.randomize_va_space=0

View File

@ -87,6 +87,7 @@ These build options exist:
* INTROSPECTION - compile afl-fuzz with mutation introspection * INTROSPECTION - compile afl-fuzz with mutation introspection
* NO_PYTHON - disable python support * NO_PYTHON - disable python support
* NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing * NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for normal fuzzing
* NO_UTF - do not use UTF-8 for line rendering in status screen (fallback to G1 box drawing, of vanilla AFL)
* NO_NYX - disable building nyx mode dependencies * NO_NYX - disable building nyx mode dependencies
* NO_CORESIGHT - disable building coresight (arm64 only) * NO_CORESIGHT - disable building coresight (arm64 only)
* NO_UNICORN_ARM64 - disable building unicorn on arm64 * NO_UNICORN_ARM64 - disable building unicorn on arm64

View File

@ -120,9 +120,9 @@
// #define _WANT_ORIGINAL_AFL_ALLOC // #define _WANT_ORIGINAL_AFL_ALLOC
/* Comment out to disable fancy ANSI boxes and use poor man's 7-bit UI: */ /* Comment out to disable fancy boxes and use poor man's 7-bit UI: */
#ifndef ANDROID_DISABLE_FANCY // Fancy boxes are ugly from adb #ifndef DISABLE_FANCY
#define FANCY_BOXES #define FANCY_BOXES
#endif #endif

View File

@ -116,7 +116,7 @@
* Box drawing sequences * * Box drawing sequences *
*************************/ *************************/
#ifdef FANCY_BOXES #ifdef FANCY_BOXES_NO_UTF
#define SET_G1 "\x1b)0" /* Set G1 for box drawing */ #define SET_G1 "\x1b)0" /* Set G1 for box drawing */
#define RESET_G1 "\x1b)B" /* Reset G1 to ASCII */ #define RESET_G1 "\x1b)B" /* Reset G1 to ASCII */
@ -136,22 +136,43 @@
#else #else
#define SET_G1 "" #ifdef FANCY_BOXES
#define RESET_G1 ""
#define bSTART ""
#define bSTOP ""
#define bH "-"
#define bV "|"
#define bLT "+"
#define bRT "+"
#define bLB "+"
#define bRB "+"
#define bX "+"
#define bVR "+"
#define bVL "+"
#define bHT "+"
#define bHB "+"
#define SET_G1 ""
#define RESET_G1 ""
#define bSTART ""
#define bSTOP ""
#define bH "\u2500" /* Horizontal line */
#define bV "\u2502" /* Vertical line */
#define bLT "\u250c" /* Left top corner */
#define bRT "\u2510" /* Right top corner */
#define bLB "\u2514" /* Left bottom corner */
#define bRB "\u2518" /* Right bottom corner */
#define bX "\u253c" /* Cross */
#define bVR "\u251c" /* Vertical, branch right */
#define bVL "\u2524" /* Vertical, branch left */
#define bHT "\u2534" /* Horizontal, branch top */
#define bHB "\u252c" /* Horizontal, branch bottom */
#else
#define SET_G1 ""
#define RESET_G1 ""
#define bSTART ""
#define bSTOP ""
#define bH "-"
#define bV "|"
#define bLT "+"
#define bRT "+"
#define bLB "+"
#define bRB "+"
#define bX "+"
#define bVR "+"
#define bVL "+"
#define bHT "+"
#define bHB "+"
#endif
#endif /* ^FANCY_BOXES */ #endif /* ^FANCY_BOXES */
/*********************** /***********************

View File

@ -2118,6 +2118,8 @@ int main(int argc, char **argv, char **envp) {
" [LLVM] LLVM: %s%s\n" " [LLVM] LLVM: %s%s\n"
" PCGUARD %s yes yes module yes yes " " PCGUARD %s yes yes module yes yes "
"yes\n" "yes\n"
" NATIVE AVAILABLE no yes no no "
"part. yes\n"
" CLASSIC %s no yes module yes yes " " CLASSIC %s no yes module yes yes "
"yes\n" "yes\n"
" - NORMAL\n" " - NORMAL\n"
@ -2137,10 +2139,10 @@ int main(int argc, char **argv, char **envp) {
"no\n\n", "no\n\n",
have_llvm ? "AVAILABLE" : "unavailable!", have_llvm ? "AVAILABLE" : "unavailable!",
compiler_mode == LLVM ? " [SELECTED]" : "", compiler_mode == LLVM ? " [SELECTED]" : "",
have_llvm ? "AVAILABLE" : "unavailable!",
have_llvm ? "AVAILABLE" : "unavailable!",
have_lto ? "AVAILABLE" : "unavailable!", have_lto ? "AVAILABLE" : "unavailable!",
compiler_mode == LTO ? " [SELECTED]" : "", compiler_mode == LTO ? " [SELECTED]" : "",
LLVM_MAJOR >= 7 ? "DEFAULT" : " ",
LLVM_MAJOR >= 7 ? " " : "DEFAULT",
have_gcc_plugin ? "AVAILABLE" : "unavailable!", have_gcc_plugin ? "AVAILABLE" : "unavailable!",
compiler_mode == GCC_PLUGIN ? " [SELECTED]" : "", compiler_mode == GCC_PLUGIN ? " [SELECTED]" : "",
have_gcc ? "AVAILABLE" : "unavailable!", have_gcc ? "AVAILABLE" : "unavailable!",

View File

@ -381,6 +381,10 @@ static void usage(u8 *argv0, int more_help) {
SAYF("Compiled with NO_SPLICING.\n"); SAYF("Compiled with NO_SPLICING.\n");
#endif #endif
#ifdef FANCY_BOXES_NO_UTF
SAYF("Compiled without UTF-8 support for line rendering in status screen.\n");
#endif
#ifdef PROFILING #ifdef PROFILING
SAYF("Compiled with PROFILING.\n"); SAYF("Compiled with PROFILING.\n");
#endif #endif

View File

@ -52,6 +52,6 @@ ${compiler_prefix}${CC} -shared -o libdemo.so demo-so.c -w -g
echo "[+] Building afl-fuzz for Android" echo "[+] Building afl-fuzz for Android"
# build afl-fuzz # build afl-fuzz
cd ../.. cd ../..
${compiler_prefix}${CC} -DANDROID_DISABLE_FANCY=1 -O3 -funroll-loops -Wall -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign -I include/ -DAFL_PATH=\"/usr/local/lib/afl\" -DBIN_PATH=\"/usr/local/bin\" -DDOC_PATH=\"/usr/local/share/doc/afl\" -Wno-unused-function src/afl-fuzz*.c src/afl-common.c src/afl-sharedmem.c src/afl-forkserver.c src/afl-performance.c -o utils/qbdi_mode/afl-fuzz -ldl -lm -w ${compiler_prefix}${CC} -O3 -funroll-loops -Wall -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign -I include/ -DAFL_PATH=\"/usr/local/lib/afl\" -DBIN_PATH=\"/usr/local/bin\" -DDOC_PATH=\"/usr/local/share/doc/afl\" -Wno-unused-function src/afl-fuzz*.c src/afl-common.c src/afl-sharedmem.c src/afl-forkserver.c src/afl-performance.c -o utils/qbdi_mode/afl-fuzz -ldl -lm -w
echo "[+] All done. Enjoy!" echo "[+] All done. Enjoy!"