about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2021-03-16 09:01:13 +0100
committerGitHub <noreply@github.com>2021-03-16 09:01:13 +0100
commitff9f3fbe96a6be905e6607493e831c1957460e0b (patch)
treec7417bba704805ac3bc83758806c4adc6e49ff9b /src
parent1dcc3549b6ecc3925825c00ac63274b83e76ec8a (diff)
parentd4fb7f8b4015297e1c74b28d671eba058cfb6366 (diff)
downloadafl++-ff9f3fbe96a6be905e6607493e831c1957460e0b.tar.gz
Merge pull request #818 from realmadsci/add-qemu-custom-bin
Add AFL_QEMU_CUSTOM_BIN environment flag
Diffstat (limited to 'src')
-rw-r--r--src/afl-common.c7
-rw-r--r--src/afl-fuzz-init.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index 9f6eb564..58fbf765 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -149,6 +149,13 @@ void argv_cpy_free(char **argv) {
 
 char **get_qemu_argv(u8 *own_loc, u8 **target_path_p, int argc, char **argv) {
 
+  if (unlikely(getenv("AFL_QEMU_CUSTOM_BIN"))) {
+    WARNF(
+      "AFL_QEMU_CUSTOM_BIN is enabled. "
+      "You must run your target under afl-qemu-trace on your own!");
+    return argv;
+  }
+
   if (!unlikely(own_loc)) { FATAL("BUG: param own_loc is NULL"); }
 
   u8 *tmp, *cp = NULL, *rsl, *own_copy;
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index ca2f75f1..82c1799e 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -2592,6 +2592,7 @@ void check_binary(afl_state_t *afl, u8 *fname) {
   }
 
   if (afl->afl_env.afl_skip_bin_check || afl->use_wine || afl->unicorn_mode ||
+      (afl->fsrv.qemu_mode && getenv("AFL_QEMU_CUSTOM_BIN")) ||
       afl->non_instrumented_mode) {
 
     return;