about summary refs log tree commit diff
path: root/frida_mode/src/instrument
diff options
context:
space:
mode:
authorWorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com>2021-06-25 22:14:27 +0100
committerGitHub <noreply@github.com>2021-06-25 23:14:27 +0200
commit6a3877dcd35d31eb79bebbc30ffe70ac0342743e (patch)
treef3ddccc0e1315a728fe5b12fdf10990f48f05298 /frida_mode/src/instrument
parentc88b98d1c91b37c1941483980161bd46cb03c4d5 (diff)
downloadafl++-6a3877dcd35d31eb79bebbc30ffe70ac0342743e.tar.gz
Improved FRIDA mode scripting support (#994)
Co-authored-by: Your Name <you@example.com>
Diffstat (limited to 'frida_mode/src/instrument')
-rw-r--r--frida_mode/src/instrument/instrument.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/frida_mode/src/instrument/instrument.c b/frida_mode/src/instrument/instrument.c
index d6ae505d..2a217d96 100644
--- a/frida_mode/src/instrument/instrument.c
+++ b/frida_mode/src/instrument/instrument.c
@@ -11,6 +11,7 @@
 #include "entry.h"
 #include "frida_cmplog.h"
 #include "instrument.h"
+#include "js.h"
 #include "persistent.h"
 #include "prefetch.h"
 #include "ranges.h"
@@ -165,8 +166,6 @@ static void instrument_basic_block(GumStalkerIterator *iterator,
 
       }
 
-      begin = FALSE;
-
     }
 
     instrument_debug_instruction(instr->address, instr->size);
@@ -178,7 +177,13 @@ static void instrument_basic_block(GumStalkerIterator *iterator,
 
     }
 
-    gum_stalker_iterator_keep(iterator);
+    if (js_stalker_callback(instr, begin, excluded, output)) {
+
+      gum_stalker_iterator_keep(iterator);
+
+    }
+
+    begin = FALSE;
 
   }