mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-12 01:58:17 +00:00
v2.59c release
This commit is contained in:
2
Makefile
2
Makefile
@ -310,7 +310,7 @@ all_done: test_build
|
|||||||
.NOTPARALLEL: clean
|
.NOTPARALLEL: clean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(PROGS) libradamsa.so afl-as as afl-g++ afl-clang afl-clang++ *.o src/*.o *~ a.out core core.[1-9][0-9]* *.stackdump .test .test1 .test2 test-instr .test-instr0 .test-instr1 qemu_mode/qemu-3.1.1.tar.xz afl-qemu-trace afl-gcc-fast afl-gcc-pass.so afl-gcc-rt.o afl-g++-fast *.so *.8
|
rm -f $(PROGS) libradamsa.so afl-fuzz-document afl-as as afl-g++ afl-clang afl-clang++ *.o src/*.o *~ a.out core core.[1-9][0-9]* *.stackdump .test .test1 .test2 test-instr .test-instr0 .test-instr1 qemu_mode/qemu-3.1.1.tar.xz afl-qemu-trace afl-gcc-fast afl-gcc-pass.so afl-gcc-rt.o afl-g++-fast *.so *.8
|
||||||
rm -rf out_dir qemu_mode/qemu-3.1.1 *.dSYM */*.dSYM
|
rm -rf out_dir qemu_mode/qemu-3.1.1 *.dSYM */*.dSYM
|
||||||
-$(MAKE) -C llvm_mode clean
|
-$(MAKE) -C llvm_mode clean
|
||||||
-$(MAKE) -C gcc_plugin clean
|
-$(MAKE) -C gcc_plugin clean
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Release Version: 2.58c
|
Release Version: 2.59c
|
||||||
|
|
||||||
Github Version: 2.58d
|
Github Version: 2.59d
|
||||||
|
|
||||||
includes all necessary/interesting changes from Google's afl 2.56b
|
includes all necessary/interesting changes from Google's afl 2.56b
|
||||||
|
|
||||||
|
@ -13,9 +13,9 @@ 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.58d (dev):
|
Version ++2.59c (release):
|
||||||
----------------------
|
--------------------------
|
||||||
|
|
||||||
- qbdi_mode: fuzz android native libraries via QBDI framework
|
- qbdi_mode: fuzz android native libraries via QBDI framework
|
||||||
- unicorn_mode: switched to the new unicornafl, thanks domenukk
|
- unicorn_mode: switched to the new unicornafl, thanks domenukk
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
/* Version string: */
|
/* Version string: */
|
||||||
|
|
||||||
#define VERSION "++2.58d" // c = release, d = volatile github dev
|
#define VERSION "++2.59c" // c = release, d = volatile github dev
|
||||||
|
|
||||||
/******************************************************
|
/******************************************************
|
||||||
* *
|
* *
|
||||||
|
@ -130,7 +130,7 @@ static u8 alloc_verbose, /* Additional debug messages */
|
|||||||
static __thread size_t total_mem; /* Currently allocated mem */
|
static __thread size_t total_mem; /* Currently allocated mem */
|
||||||
|
|
||||||
static __thread u32 call_depth; /* To avoid recursion via fprintf() */
|
static __thread u32 call_depth; /* To avoid recursion via fprintf() */
|
||||||
static u32 alloc_canary;
|
static u32 alloc_canary;
|
||||||
|
|
||||||
/* This is the main alloc function. It allocates one page more than necessary,
|
/* This is the main alloc function. It allocates one page more than necessary,
|
||||||
sets that tailing page to PROT_NONE, and then increments the return address
|
sets that tailing page to PROT_NONE, and then increments the return address
|
||||||
@ -348,10 +348,10 @@ int posix_memalign(void** ptr, size_t align, size_t len) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t rem = len % align;
|
size_t rem = len % align;
|
||||||
if (rem) len += align - rem;
|
if (rem) len += align - rem;
|
||||||
|
|
||||||
*ptr = __dislocator_alloc(len);
|
*ptr = __dislocator_alloc(len);
|
||||||
|
|
||||||
if (*ptr && len) memset(*ptr, ALLOC_CLOBBER, len);
|
if (*ptr && len) memset(*ptr, ALLOC_CLOBBER, len);
|
||||||
|
@ -358,7 +358,7 @@ static void edit_params(u32 argc, char** argv) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#ifndef __ANDROID__ // not sure, we might need these ifdefs for Android
|
//#ifndef __ANDROID__ // not sure, we might need these ifdefs for Android
|
||||||
switch (bit_mode) {
|
switch (bit_mode) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
@ -382,7 +382,8 @@ static void edit_params(u32 argc, char** argv) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
|
//#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -443,9 +444,10 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#ifndef __ANDROID__ // not sure this is needed for Android, so at the moment we rather keep this out
|
//#ifndef __ANDROID__ // not sure this is needed for Android, so at the moment
|
||||||
|
//we rather keep this out
|
||||||
find_obj(argv[0]);
|
find_obj(argv[0]);
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
edit_params(argc, argv);
|
edit_params(argc, argv);
|
||||||
|
|
||||||
|
@ -243,10 +243,9 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[+] Building libcompcov ..."
|
echo "[+] Building libcompcov ..."
|
||||||
make -C libcompcov
|
make -C libcompcov && echo "[+] libcompcov ready"
|
||||||
echo "[+] Building unsigaction ..."
|
echo "[+] Building unsigaction ..."
|
||||||
make -C unsigaction
|
make -C unsigaction && echo "[+] unsigaction ready"
|
||||||
echo "[+] libcompcov ready"
|
|
||||||
echo "[+] All done for qemu_mode, enjoy!"
|
echo "[+] All done for qemu_mode, enjoy!"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -79,8 +79,8 @@ void afl_debug_dump_saved_regs();
|
|||||||
void afl_persistent_loop();
|
void afl_persistent_loop();
|
||||||
|
|
||||||
void tcg_gen_afl_call0(void *func);
|
void tcg_gen_afl_call0(void *func);
|
||||||
void tcg_gen_afl_compcov_log_call(void *func, target_ulong cur_loc,
|
void tcg_gen_afl_compcov_log_call(void *func, target_ulong cur_loc, TCGv arg1,
|
||||||
TCGv arg1, TCGv arg2);
|
TCGv arg2);
|
||||||
|
|
||||||
void tcg_gen_afl_maybe_log_call(target_ulong cur_loc);
|
void tcg_gen_afl_maybe_log_call(target_ulong cur_loc);
|
||||||
|
|
||||||
|
@ -376,8 +376,8 @@ void tcg_gen_afl_call0(void *func) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tcg_gen_afl_compcov_log_call(void *func, target_ulong cur_loc,
|
void tcg_gen_afl_compcov_log_call(void *func, target_ulong cur_loc, TCGv arg1,
|
||||||
TCGv arg1, TCGv arg2) {
|
TCGv arg2) {
|
||||||
|
|
||||||
int i, real_args, nb_rets, pi;
|
int i, real_args, nb_rets, pi;
|
||||||
unsigned sizemask, flags;
|
unsigned sizemask, flags;
|
||||||
|
@ -685,13 +685,14 @@ u8 save_if_interesting(char** argv, void* mem, u32 len, u8 fault) {
|
|||||||
++unique_crashes;
|
++unique_crashes;
|
||||||
if (infoexec) { // if the user wants to be informed on new crashes - do
|
if (infoexec) { // if the user wants to be informed on new crashes - do
|
||||||
#if !TARGET_OS_IPHONE
|
#if !TARGET_OS_IPHONE
|
||||||
// that
|
// that
|
||||||
if (system(infoexec) == -1)
|
if (system(infoexec) == -1)
|
||||||
hnb += 0; // we dont care if system errors, but we dont want a
|
hnb += 0; // we dont care if system errors, but we dont want a
|
||||||
// compiler warning either
|
// compiler warning either
|
||||||
#else
|
#else
|
||||||
WARNF("command execution unsupported");
|
WARNF("command execution unsupported");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
last_crash_time = get_cur_time();
|
last_crash_time = get_cur_time();
|
||||||
|
@ -1905,9 +1905,10 @@ void check_binary(u8* fname) {
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
#if !defined(__arm__) && !defined(__arm64__)
|
#if !defined(__arm__) && !defined(__arm64__)
|
||||||
if ((f_data[0] != 0xCF || f_data[1] != 0xFA || f_data[2] != 0xED)
|
if ((f_data[0] != 0xCF || f_data[1] != 0xFA || f_data[2] != 0xED) &&
|
||||||
&& (f_data[0] != 0xCA || f_data[1] != 0xFE || f_data[2] != 0xBA))
|
(f_data[0] != 0xCA || f_data[1] != 0xFE || f_data[2] != 0xBA))
|
||||||
FATAL("Program '%s' is not a 64-bit or universal Mach-O binary", target_path);
|
FATAL("Program '%s' is not a 64-bit or universal Mach-O binary",
|
||||||
|
target_path);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* ^!__APPLE__ */
|
#endif /* ^!__APPLE__ */
|
||||||
|
@ -124,8 +124,9 @@ fi
|
|||||||
echo "[+] All checks passed!"
|
echo "[+] All checks passed!"
|
||||||
|
|
||||||
echo "[*] Making sure unicornafl is checked out"
|
echo "[*] Making sure unicornafl is checked out"
|
||||||
git submodule init || exit 1
|
test -d unicorn && { cd unicorn && { git stash ; git pull ; cd .. ; } }
|
||||||
git submodule update || exit 1
|
test -d unicorn || git clone https://github.com/vanhauser-thc/unicorn
|
||||||
|
test -d unicorn || { echo "[-] not checked out, please install git or check your internet connection." ; exit 1 ; }
|
||||||
echo "[+] Got unicornafl."
|
echo "[+] Got unicornafl."
|
||||||
|
|
||||||
echo "[*] making sure config.h matches"
|
echo "[*] making sure config.h matches"
|
||||||
|
Reference in New Issue
Block a user