aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src/js
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-08-20 23:15:18 +0200
committerGitHub <noreply@github.com>2021-08-20 23:15:18 +0200
commitca9c87dd45d8b9a746a212cbc6ce85b78b637d8c (patch)
tree665b9368d2c1908cf71dbc4a76517f88c5317d9a /frida_mode/src/js
parentd8c221fade27b75a387587dc7b5e20ab82ec8012 (diff)
parent028f8ced8f772d82a7efc522ec629bf4a5fff32d (diff)
downloadafl++-ca9c87dd45d8b9a746a212cbc6ce85b78b637d8c.tar.gz
Merge pull request #1075 from WorksButNotTested/test
Various New Features & Fixes
Diffstat (limited to 'frida_mode/src/js')
-rw-r--r--frida_mode/src/js/api.js21
-rw-r--r--frida_mode/src/js/js_api.c22
2 files changed, 30 insertions, 13 deletions
diff --git a/frida_mode/src/js/api.js b/frida_mode/src/js/api.js
index f0cf7311..71b5e4a4 100644
--- a/frida_mode/src/js/api.js
+++ b/frida_mode/src/js/api.js
@@ -172,6 +172,12 @@ class Afl {
Afl.jsApiSetPersistentReturn(address);
}
/**
+ * See `AFL_FRIDA_INST_NO_PREFETCH_BACKPATCH`.
+ */
+ static setPrefetchBackpatchDisable() {
+ Afl.jsApiSetPrefetchBackpatchDisable();
+ }
+ /**
* See `AFL_FRIDA_INST_NO_PREFETCH`.
*/
static setPrefetchDisable() {
@@ -185,6 +191,12 @@ class Afl {
Afl.jsApiSetStalkerCallback(callback);
}
/**
+ * See `AFL_FRIDA_STALKER_IC_ENTRIES`.
+ */
+ static setStalkerIcEntries(val) {
+ Afl.jsApiSetStalkerIcEntries(val);
+ }
+ /**
* See `AFL_FRIDA_STATS_FILE`. This function takes a single `string` as
* an argument.
*/
@@ -200,12 +212,6 @@ class Afl {
Afl.jsApiSetStatsInterval(interval);
}
/**
- * See `AFL_FRIDA_STATS_TRANSITIONS`
- */
- static setStatsTransitions() {
- Afl.jsApiSetStatsTransitions();
- }
- /**
* See `AFL_FRIDA_OUTPUT_STDERR`. This function takes a single `string` as
* an argument.
*/
@@ -254,11 +260,12 @@ Afl.jsApiSetPersistentCount = Afl.jsApiGetFunction("js_api_set_persistent_count"
Afl.jsApiSetPersistentDebug = Afl.jsApiGetFunction("js_api_set_persistent_debug", "void", []);
Afl.jsApiSetPersistentHook = Afl.jsApiGetFunction("js_api_set_persistent_hook", "void", ["pointer"]);
Afl.jsApiSetPersistentReturn = Afl.jsApiGetFunction("js_api_set_persistent_return", "void", ["pointer"]);
+Afl.jsApiSetPrefetchBackpatchDisable = Afl.jsApiGetFunction("js_api_set_prefetch_backpatch_disable", "void", []);
Afl.jsApiSetPrefetchDisable = Afl.jsApiGetFunction("js_api_set_prefetch_disable", "void", []);
Afl.jsApiSetStalkerCallback = Afl.jsApiGetFunction("js_api_set_stalker_callback", "void", ["pointer"]);
+Afl.jsApiSetStalkerIcEntries = Afl.jsApiGetFunction("js_api_set_stalker_ic_entries", "void", ["uint32"]);
Afl.jsApiSetStatsFile = Afl.jsApiGetFunction("js_api_set_stats_file", "void", ["pointer"]);
Afl.jsApiSetStatsInterval = Afl.jsApiGetFunction("js_api_set_stats_interval", "void", ["uint64"]);
-Afl.jsApiSetStatsTransitions = Afl.jsApiGetFunction("js_api_set_stats_transitions", "void", []);
Afl.jsApiSetStdErr = Afl.jsApiGetFunction("js_api_set_stderr", "void", ["pointer"]);
Afl.jsApiSetStdOut = Afl.jsApiGetFunction("js_api_set_stdout", "void", ["pointer"]);
Afl.jsApiWrite = new NativeFunction(
diff --git a/frida_mode/src/js/js_api.c b/frida_mode/src/js/js_api.c
index e51f852a..c2746d13 100644
--- a/frida_mode/src/js/js_api.c
+++ b/frida_mode/src/js/js_api.c
@@ -7,8 +7,10 @@
#include "persistent.h"
#include "prefetch.h"
#include "ranges.h"
+#include "stalker.h"
#include "stats.h"
#include "util.h"
+
__attribute__((visibility("default"))) void js_api_done() {
js_done = TRUE;
@@ -127,6 +129,13 @@ __attribute__((visibility("default"))) void js_api_set_prefetch_disable(void) {
}
+__attribute__((visibility("default"))) void
+js_api_set_prefetch_backpatch_disable(void) {
+
+ prefetch_backpatch = FALSE;
+
+}
+
__attribute__((visibility("default"))) void js_api_set_instrument_no_optimize(
void) {
@@ -180,12 +189,6 @@ __attribute__((visibility("default"))) void js_api_set_stats_interval(
}
-__attribute__((visibility("default"))) void js_api_set_stats_transitions() {
-
- stats_transitions = TRUE;
-
-}
-
__attribute__((visibility("default"))) void js_api_set_persistent_hook(
void *address) {
@@ -206,3 +209,10 @@ __attribute__((visibility("default"))) void js_api_set_stalker_callback(
}
+__attribute__((visibility("default"))) void js_api_set_stalker_ic_entries(
+ guint val) {
+
+ stalker_ic_entries = val;
+
+}
+