about summary refs log tree commit diff
path: root/frida_mode/include
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2022-03-08 11:44:15 +0100
committerGitHub <noreply@github.com>2022-03-08 11:44:15 +0100
commit34d7a6357ed7bab5a934fdaf2622c72ad27c8f28 (patch)
tree2c88b9aaa9e42a51a52a69454717892c8f394d6c /frida_mode/include
parentae9897ff7b31b9135b85f78a9a0e4c036d8a0abd (diff)
parent852c036cae97113daac3ba5a791554bbbd5c8903 (diff)
downloadafl++-34d7a6357ed7bab5a934fdaf2622c72ad27c8f28.tar.gz
Merge pull request #1347 from WorksButNotTested/cache
Add global caching of block translation to instrumentation
Diffstat (limited to 'frida_mode/include')
-rw-r--r--frida_mode/include/instrument.h8
-rw-r--r--frida_mode/include/util.h8
2 files changed, 16 insertions, 0 deletions
diff --git a/frida_mode/include/instrument.h b/frida_mode/include/instrument.h
index 20312a4b..4a54ee22 100644
--- a/frida_mode/include/instrument.h
+++ b/frida_mode/include/instrument.h
@@ -22,6 +22,9 @@ extern uint32_t __afl_map_size;
 
 extern __thread guint64 *instrument_previous_pc_addr;
 
+extern gboolean instrument_cache_enabled;
+extern gsize    instrument_cache_size;
+
 void instrument_config(void);
 
 void instrument_init(void);
@@ -59,5 +62,10 @@ void instrument_on_fork(void);
 
 guint64 instrument_get_offset_hash(GumAddress current_rip);
 
+void instrument_cache_config(void);
+void instrument_cache_init(void);
+void instrument_cache_insert(gpointer real_address, gpointer code_address);
+void instrument_cache(const cs_insn *instr, GumStalkerOutput *output);
+
 #endif
 
diff --git a/frida_mode/include/util.h b/frida_mode/include/util.h
index bd37687c..b04e0a26 100644
--- a/frida_mode/include/util.h
+++ b/frida_mode/include/util.h
@@ -5,6 +5,14 @@
 
 #include "debug.h"
 
+#ifndef MAP_FIXED_NOREPLACE
+  #ifdef MAP_EXCL
+    #define MAP_FIXED_NOREPLACE MAP_EXCL | MAP_FIXED
+  #else
+    #define MAP_FIXED_NOREPLACE MAP_FIXED
+  #endif
+#endif
+
 #define UNUSED_PARAMETER(x) (void)(x)
 #define IGNORED_RETURN(x) (void)!(x)