aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2019-12-29 19:38:45 +0100
committervan Hauser <vh@thc.org>2019-12-29 19:38:45 +0100
commitcd2cae720bb5f5bac6cb8de9357cea427c9ae384 (patch)
treee6937ec8543dcd2d129b2d69e6d4f16f5643c495
parent65b4141cd385da7ec9e55e2687fc3063b3046ecc (diff)
downloadafl++-cd2cae720bb5f5bac6cb8de9357cea427c9ae384.tar.gz
added AFL_AS_FORCE_INSTRUMENT env
-rw-r--r--docs/ChangeLog2
-rw-r--r--docs/env_variables.txt4
-rw-r--r--src/afl-as.c5
3 files changed, 10 insertions, 1 deletions
diff --git a/docs/ChangeLog b/docs/ChangeLog
index 92fd08ec..cad99c9f 100644
--- a/docs/ChangeLog
+++ b/docs/ChangeLog
@@ -20,6 +20,8 @@ Version ++2.59d (develop):
- added ./experimental/argv_fuzzing ld_preload library by Kjell Braden
- added preeny's desock_dup ld_preload library as
./experimental/socket_fuzzing for network fuzzing
+ - added AFL_AS_FORCE_INSTRUMENT environment variable for afl-as - this is
+ for retrorewrite project
- we now set QEMU_SET_ENV from AFL_PRELOAD when qemu_mode is used
diff --git a/docs/env_variables.txt b/docs/env_variables.txt
index 427f8cca..a6162767 100644
--- a/docs/env_variables.txt
+++ b/docs/env_variables.txt
@@ -65,6 +65,10 @@ tools make fairly broad use of environmental variables:
mkdir assembly_here
TMPDIR=$PWD/assembly_here AFL_KEEP_ASSEMBLY=1 make clean all
+ - If you are a weird person that wants to compile and instrument asm
+ text files then use the AFL_AS_FORCE_INSTRUMENT variable:
+ AFL_AS_FORCE_INSTRUMENT=1 afl-gcc foo.s -o foo
+
- Setting AFL_QUIET will prevent afl-cc and afl-as banners from being
displayed during compilation, in case you find them distracting.
diff --git a/src/afl-as.c b/src/afl-as.c
index 9abe3fc2..8f24c16f 100644
--- a/src/afl-as.c
+++ b/src/afl-as.c
@@ -208,8 +208,11 @@ static void edit_params(int argc, char** argv) {
NSS. */
if (strncmp(input_file, tmp_dir, strlen(tmp_dir)) &&
- strncmp(input_file, "/var/tmp/", 9) && strncmp(input_file, "/tmp/", 5))
+ strncmp(input_file, "/var/tmp/", 9) && strncmp(input_file, "/tmp/", 5)
+ && getenv("AFL_AS_FORCE_INSTRUMENT") == NULL)
pass_thru = 1;
+ else if (getenv("AFL_AS_FORCE_INSTRUMENT"))
+ unsetenv("AFL_AS_FORCE_INSTRUMENT");
}