diff options
author | Your Name <you@example.com> | 2021-11-11 18:32:35 +0000 |
---|---|---|
committer | Your Name <you@example.com> | 2021-11-11 18:32:35 +0000 |
commit | b033a2d98b2597bb3f61277bec8f1b04d701f251 (patch) | |
tree | ec5527c1e29619717fdeb6f74e0a7efbd41f636d | |
parent | a15b5ef458f5265082db59c636ca2c3c4954020f (diff) | |
download | afl++-b033a2d98b2597bb3f61277bec8f1b04d701f251.tar.gz |
Fix to handling of persistent mode using JS
-rw-r--r-- | frida_mode/src/js/js_api.c | 8 | ||||
-rw-r--r-- | frida_mode/test/png/persistent/hook/GNUmakefile | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/frida_mode/src/js/js_api.c b/frida_mode/src/js/js_api.c index 570da335..c1f092c9 100644 --- a/frida_mode/src/js/js_api.c +++ b/frida_mode/src/js/js_api.c @@ -47,6 +47,14 @@ __attribute__((visibility("default"))) void js_api_set_persistent_address( persistent_start = GPOINTER_TO_SIZE(address); + if (getenv("__AFL_PERSISTENT") == NULL) { + + FATAL( + "You must set __AFL_PERSISTENT manually if using persistent mode " + "configured using JS"); + + } + } __attribute__((visibility("default"))) void js_api_set_persistent_return( diff --git a/frida_mode/test/png/persistent/hook/GNUmakefile b/frida_mode/test/png/persistent/hook/GNUmakefile index 5010662b..23aa94d0 100644 --- a/frida_mode/test/png/persistent/hook/GNUmakefile +++ b/frida_mode/test/png/persistent/hook/GNUmakefile @@ -144,6 +144,7 @@ frida_entry_slow: $(AFLPP_DRIVER_DUMMY_INPUT) $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) | $ frida_js_load: $(AFLPP_DRIVER_DUMMY_INPUT) $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) | $(BUILD_DIR) AFL_PRELOAD=$(AFL_PRELOAD) \ + __AFL_PERSISTENT=1 \ AFL_FRIDA_JS_SCRIPT=load.js \ $(ROOT)afl-fuzz \ -D \ |