aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src/js
diff options
context:
space:
mode:
authorYour Name <you@example.com>2022-07-29 18:24:22 +0100
committerYour Name <you@example.com>2022-07-29 19:33:31 +0100
commit4fdd64d6d6ca98145873057115d059704a79aeeb (patch)
tree7a75e7d5ab8848731981bf248dd59832cd7983ba /frida_mode/src/js
parentf2b7104cd6c808c2caceb1314a19f4dbcfd087d7 (diff)
downloadafl++-4fdd64d6d6ca98145873057115d059704a79aeeb.tar.gz
Added framework for logging register contents at the end of each basic block
Diffstat (limited to 'frida_mode/src/js')
-rw-r--r--frida_mode/src/js/api.js9
-rw-r--r--frida_mode/src/js/js_api.c5
2 files changed, 14 insertions, 0 deletions
diff --git a/frida_mode/src/js/api.js b/frida_mode/src/js/api.js
index c1c9d36f..721ef82c 100644
--- a/frida_mode/src/js/api.js
+++ b/frida_mode/src/js/api.js
@@ -150,6 +150,14 @@ class Afl {
static setInstrumentNoOptimize() {
Afl.jsApiSetInstrumentNoOptimize();
}
+ /**
+ * See `AFL_FRIDA_INST_REGS_FILE`. This function takes a single `string` as
+ * an argument.
+ */
+ static setInstrumentRegsFile(file) {
+ const buf = Memory.allocUtf8String(file);
+ Afl.jsApiSetInstrumentRegsFile(buf);
+ }
/*
* See `AFL_FRIDA_INST_SEED`
*/
@@ -322,6 +330,7 @@ Afl.jsApiSetInstrumentInstructions = Afl.jsApiGetFunction("js_api_set_instrument
Afl.jsApiSetInstrumentJit = Afl.jsApiGetFunction("js_api_set_instrument_jit", "void", []);
Afl.jsApiSetInstrumentLibraries = Afl.jsApiGetFunction("js_api_set_instrument_libraries", "void", []);
Afl.jsApiSetInstrumentNoOptimize = Afl.jsApiGetFunction("js_api_set_instrument_no_optimize", "void", []);
+Afl.jsApiSetInstrumentRegsFile = Afl.jsApiGetFunction("js_api_set_instrument_regs_file", "void", ["pointer"]);
Afl.jsApiSetInstrumentSeed = Afl.jsApiGetFunction("js_api_set_instrument_seed", "void", ["uint64"]);
Afl.jsApiSetInstrumentTrace = Afl.jsApiGetFunction("js_api_set_instrument_trace", "void", []);
Afl.jsApiSetInstrumentTraceUnique = Afl.jsApiGetFunction("js_api_set_instrument_trace_unique", "void", []);
diff --git a/frida_mode/src/js/js_api.c b/frida_mode/src/js/js_api.c
index 7cc8ffc7..d0c0aa60 100644
--- a/frida_mode/src/js/js_api.c
+++ b/frida_mode/src/js/js_api.c
@@ -156,6 +156,11 @@ __attribute__((visibility("default"))) void js_api_set_instrument_no_optimize(
}
+__attribute__((visibility("default"))) void js_api_set_instrument_regs_file(
+ char *path) {
+ instrument_regs_filename = g_strdup(path);
+}
+
__attribute__((visibility("default"))) void js_api_set_instrument_seed(
guint64 seed) {