aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src/js
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-08-27 17:06:46 +0200
committerGitHub <noreply@github.com>2021-08-27 17:06:46 +0200
commit353d402aaf9296c7dbd47e66fbbc6e59179c4e44 (patch)
tree0ba644854a6d51cdc9e8a2d52ca88b549109f736 /frida_mode/src/js
parent2e15661f184c77ac1fbb6f868c894e946cbb7f17 (diff)
parent7a2f81e0d992cf0f20d8d2fed26310c03c8b4fa9 (diff)
downloadafl++-353d402aaf9296c7dbd47e66fbbc6e59179c4e44.tar.gz
Merge pull request #1077 from AFLplusplus/dev
push to stable
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.c7
2 files changed, 16 insertions, 0 deletions
diff --git a/frida_mode/src/js/api.js b/frida_mode/src/js/api.js
index 71b5e4a4..cf422ba9 100644
--- a/frida_mode/src/js/api.js
+++ b/frida_mode/src/js/api.js
@@ -138,6 +138,14 @@ class Afl {
Afl.jsApiSetInstrumentTraceUnique();
}
/**
+ * See `AFL_FRIDA_INST_UNSTABLE_COVERAGE_FILE`. This function takes a single
+ * `string` as an argument.
+ */
+ static setInstrumentUnstableCoverageFile(file) {
+ const buf = Memory.allocUtf8String(file);
+ Afl.jsApiSetInstrumentUnstableCoverageFile(buf);
+ }
+ /**
* This is equivalent to setting `AFL_FRIDA_PERSISTENT_ADDR`, again a
* `NativePointer` should be provided as it's argument.
*/
@@ -255,6 +263,7 @@ Afl.jsApiSetInstrumentNoOptimize = Afl.jsApiGetFunction("js_api_set_instrument_n
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", []);
+Afl.jsApiSetInstrumentUnstableCoverageFile = Afl.jsApiGetFunction("js_api_set_instrument_unstable_coverage_file", "void", ["pointer"]);
Afl.jsApiSetPersistentAddress = Afl.jsApiGetFunction("js_api_set_persistent_address", "void", ["pointer"]);
Afl.jsApiSetPersistentCount = Afl.jsApiGetFunction("js_api_set_persistent_count", "void", ["uint64"]);
Afl.jsApiSetPersistentDebug = Afl.jsApiGetFunction("js_api_set_persistent_debug", "void", []);
diff --git a/frida_mode/src/js/js_api.c b/frida_mode/src/js/js_api.c
index c2746d13..49ca3baa 100644
--- a/frida_mode/src/js/js_api.c
+++ b/frida_mode/src/js/js_api.c
@@ -164,6 +164,13 @@ __attribute__((visibility("default"))) void js_api_set_instrument_trace_unique(
}
+__attribute__((visibility("default"))) void
+js_api_set_instrument_unstable_coverage_file(char *path) {
+
+ instrument_coverage_unstable_filename = g_strdup(path);
+
+}
+
__attribute__((visibility("default"))) void js_api_set_stdout(char *file) {
output_stdout = g_strdup(file);