diff options
author | van Hauser <vh@thc.org> | 2020-06-25 16:51:29 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-06-25 16:51:29 +0200 |
commit | 8178f4dfddfb51f7a3e2f94e67bb9cf7332c7ef1 (patch) | |
tree | 1c72f66dfa99ed06e79d095f7d1fca37e859e88b /src/afl-fuzz.c | |
parent | 4a3305c0074cc6172faac12934bb2ad367d23759 (diff) | |
download | afl++-8178f4dfddfb51f7a3e2f94e67bb9cf7332c7ef1.tar.gz |
remove radamsa, add radamsa custom mutator
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r-- | src/afl-fuzz.c | 112 |
1 files changed, 3 insertions, 109 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index a20d4cba..2f23aec7 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -46,63 +46,6 @@ static void at_exit() { } -static u8 *get_libradamsa_path(u8 *own_loc) { - - u8 *tmp, *cp, *rsl, *own_copy; - - tmp = getenv("AFL_PATH"); - - if (tmp) { - - cp = alloc_printf("%s/libradamsa.so", tmp); - - if (access(cp, X_OK)) { FATAL("Unable to find '%s'", cp); } - - return cp; - - } - - own_copy = ck_strdup(own_loc); - rsl = strrchr(own_copy, '/'); - - if (rsl) { - - *rsl = 0; - - cp = alloc_printf("%s/libradamsa.so", own_copy); - ck_free(own_copy); - - if (!access(cp, X_OK)) { return cp; } - - } else { - - ck_free(own_copy); - - } - - if (!access(AFL_PATH "/libradamsa.so", X_OK)) { - - return ck_strdup(AFL_PATH "/libradamsa.so"); - - } - - if (!access(BIN_PATH "/libradamsa.so", X_OK)) { - - return ck_strdup(BIN_PATH "/libradamsa.so"); - - } - - SAYF( - "\n" cLRD "[-] " cRST - "Oops, unable to find the 'libradamsa.so' binary. The binary must be " - "built\n" - " separately using 'make radamsa'. If you already have the binary " - "installed,\n you may need to specify AFL_PATH in the environment.\n"); - - FATAL("Failed to locate 'libradamsa.so'."); - -} - /* Display usage hints. */ static void usage(afl_state_t *afl, u8 *argv0, int more_help) { @@ -130,8 +73,6 @@ static void usage(afl_state_t *afl, u8 *argv0, int more_help) { "mode)\n\n" "Mutator settings:\n" - " -R[R] - add Radamsa as mutator, add another -R to exclusivly " - "run it\n" " -L minutes - use MOpt(imize) mode and set the time limit for " "entering the\n" " pacemaker mode (minutes of no new paths). 0 = " @@ -794,15 +735,9 @@ int main(int argc, char **argv_orig, char **envp) { case 'R': - if (afl->use_radamsa) { - - afl->use_radamsa = 2; - - } else { - - afl->use_radamsa = 1; - - } + FATAL( + "Radamsa is now a custom mutator, please use that " + "(custom_mutators/radamsa/)."); break; @@ -845,47 +780,6 @@ int main(int argc, char **argv_orig, char **envp) { } - if (afl->use_radamsa) { - - if (afl->limit_time_sig > 0) { - - FATAL( - "MOpt and Radamsa are mutually exclusive unless you specify -L -1. " - "We accept pull requests that integrates MOpt with the optional " - "mutators (custom/radamsa/redqueen/...)."); - - } - - if (afl->limit_time_sig && afl->use_radamsa > 1) { - - FATAL("Radamsa in radamsa-only mode can not run together with -L"); - - } - - OKF("Using Radamsa add-on"); - - u8 * libradamsa_path = get_libradamsa_path(argv[0]); - void *handle = dlopen(libradamsa_path, RTLD_NOW); - ck_free(libradamsa_path); - - if (!handle) { FATAL("Failed to dlopen() libradamsa"); } - - void (*radamsa_init_ptr)(void) = dlsym(handle, "radamsa_init"); - afl->radamsa_mutate_ptr = dlsym(handle, "radamsa"); - - if (!radamsa_init_ptr || !afl->radamsa_mutate_ptr) { - - FATAL("Failed to dlsym() libradamsa"); - - } - - /* radamsa_init installs some signal handlers, call it before - setup_signal_handlers so that AFL++ can then replace those signal - handlers */ - radamsa_init_ptr(); - - } - #if defined(__SANITIZE_ADDRESS__) if (afl->fsrv.mem_limit) { |