about summary refs log tree commit diff
path: root/frida_mode/ts/lib/afl.ts
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-11-19 11:20:23 +0100
committerGitHub <noreply@github.com>2021-11-19 11:20:23 +0100
commit9283967a6e1b2c2b20c4b6810e58bf7b13c9645a (patch)
tree8b978be289cdadeb9ac0f2e68c148ed73e9d170c /frida_mode/ts/lib/afl.ts
parentb18b8f553fed1c6d62f3e9348573d46348d0857c (diff)
parentb0f7691c2986eb3bcfc5a7c42fc4a4f022dfe961 (diff)
downloadafl++-9283967a6e1b2c2b20c4b6810e58bf7b13c9645a.tar.gz
Merge pull request #1167 from WorksButNotTested/js
Js
Diffstat (limited to 'frida_mode/ts/lib/afl.ts')
-rw-r--r--frida_mode/ts/lib/afl.ts23
1 files changed, 18 insertions, 5 deletions
diff --git a/frida_mode/ts/lib/afl.ts b/frida_mode/ts/lib/afl.ts
index e20ad3ec..0473cbf6 100644
--- a/frida_mode/ts/lib/afl.ts
+++ b/frida_mode/ts/lib/afl.ts
@@ -179,6 +179,14 @@ class Afl {
     Afl.jsApiSetInstrumentUnstableCoverageFile(buf);
   }
 
+  /*
+   * Set a callback to be called in place of the usual `main` function. This see
+   * `Scripting.md` for details.
+   */
+  public static setJsMainHook(address: NativePointer): void {
+    Afl.jsApiSetJsMainHook(address);
+  }
+
   /**
    * This is equivalent to setting `AFL_FRIDA_PERSISTENT_ADDR`, again a
    * `NativePointer` should be provided as it's argument.
@@ -387,6 +395,11 @@ class Afl {
     "void",
     ["pointer"]);
 
+  private static readonly jsApiSetJsMainHook = Afl.jsApiGetFunction(
+    "js_api_set_js_main_hook",
+    "void",
+    ["pointer"]);
+
   private static readonly jsApiSetPersistentAddress = Afl.jsApiGetFunction(
     "js_api_set_persistent_address",
     "void",
@@ -427,16 +440,16 @@ class Afl {
     "void",
     ["pointer"]);
 
-  private static readonly jsApiSetStalkerCallback = Afl.jsApiGetFunction(
-    "js_api_set_stalker_callback",
-    "void",
-    ["pointer"]);
-
   private static readonly jsApiSetStalkerAdjacentBlocks = Afl.jsApiGetFunction(
     "js_api_set_stalker_adjacent_blocks",
     "void",
     ["uint32"]);
 
+  private static readonly jsApiSetStalkerCallback = Afl.jsApiGetFunction(
+    "js_api_set_stalker_callback",
+    "void",
+    ["pointer"]);
+
   private static readonly jsApiSetStalkerIcEntries = Afl.jsApiGetFunction(
     "js_api_set_stalker_ic_entries",
     "void",