aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/include
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-07-19 10:54:12 +0200
committerGitHub <noreply@github.com>2021-07-19 10:54:12 +0200
commit815161827689c339d335233b7b232ac9b120b79b (patch)
tree4e686574ccf1f47cea79fc24514c8455e3a1fbc1 /frida_mode/include
parent9321a24e682b5c8bf6278961bd014cb883b87295 (diff)
parentcc57cc5f463e9b79980c2087d19b4a1e1360ec52 (diff)
downloadafl++-815161827689c339d335233b7b232ac9b120b79b.tar.gz
Merge branch 'release' into stable
Diffstat (limited to 'frida_mode/include')
-rw-r--r--frida_mode/include/asan.h3
-rw-r--r--frida_mode/include/ctx.h13
-rw-r--r--frida_mode/include/entry.h9
-rw-r--r--frida_mode/include/frida_cmplog.h1
-rw-r--r--frida_mode/include/instrument.h35
-rw-r--r--frida_mode/include/interceptor.h11
-rw-r--r--frida_mode/include/lib.h4
-rw-r--r--frida_mode/include/output.h6
-rw-r--r--frida_mode/include/persistent.h10
-rw-r--r--frida_mode/include/prefetch.h5
-rw-r--r--frida_mode/include/ranges.h10
-rw-r--r--frida_mode/include/stalker.h4
-rw-r--r--frida_mode/include/stats.h8
-rw-r--r--frida_mode/include/util.h2
14 files changed, 36 insertions, 85 deletions
diff --git a/frida_mode/include/asan.h b/frida_mode/include/asan.h
index 67d33591..7a8726e0 100644
--- a/frida_mode/include/asan.h
+++ b/frida_mode/include/asan.h
@@ -1,11 +1,10 @@
#ifndef _ASAN_H
#define _ASAN_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
extern gboolean asan_initialized;
-void asan_config(void);
void asan_init(void);
void asan_arch_init(void);
void asan_instrument(const cs_insn *instr, GumStalkerIterator *iterator);
diff --git a/frida_mode/include/ctx.h b/frida_mode/include/ctx.h
index c669478e..cbcc892a 100644
--- a/frida_mode/include/ctx.h
+++ b/frida_mode/include/ctx.h
@@ -1,17 +1,10 @@
#ifndef _CTX_H
#define _CTX_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-#if defined(__x86_64__)
-gsize ctx_read_reg(GumX64CpuContext *ctx, x86_reg reg);
-#elif defined(__i386__)
-gsize ctx_read_reg(GumIA32CpuContext *ctx, x86_reg reg);
-#elif defined(__aarch64__)
-gsize ctx_read_reg(GumArm64CpuContext *ctx, arm64_reg reg);
-size_t ctx_get_size(const cs_insn *instr, cs_arm64_op *operand);
-#elif defined(__arm__)
-gsize ctx_read_reg(GumArmCpuContext *ctx, arm_reg reg);
+#if defined(__x86_64__) || defined(__i386__)
+gsize ctx_read_reg(GumCpuContext *ctx, x86_reg reg);
#endif
#endif
diff --git a/frida_mode/include/entry.h b/frida_mode/include/entry.h
index cbc5c8c7..967831af 100644
--- a/frida_mode/include/entry.h
+++ b/frida_mode/include/entry.h
@@ -1,16 +1,13 @@
#ifndef _ENTRY_H
#define _ENTRY_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-extern guint64 entry_point;
-extern gboolean entry_reached;
-
-void entry_config(void);
+extern guint64 entry_start;
void entry_init(void);
-void entry_start(void);
+void entry_run(void);
void entry_prologue(GumStalkerIterator *iterator, GumStalkerOutput *output);
diff --git a/frida_mode/include/frida_cmplog.h b/frida_mode/include/frida_cmplog.h
index a665e970..b620a472 100644
--- a/frida_mode/include/frida_cmplog.h
+++ b/frida_mode/include/frida_cmplog.h
@@ -3,7 +3,6 @@
extern struct cmp_map *__afl_cmp_map;
-void cmplog_config(void);
void cmplog_init(void);
/* Functions to be implemented by the different architectures */
diff --git a/frida_mode/include/instrument.h b/frida_mode/include/instrument.h
index 29f14da9..ed92c25a 100644
--- a/frida_mode/include/instrument.h
+++ b/frida_mode/include/instrument.h
@@ -1,24 +1,13 @@
#ifndef _INSTRUMENT_H
#define _INSTRUMENT_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
#include "config.h"
-extern char * instrument_debug_filename;
-extern gboolean instrument_tracing;
-extern gboolean instrument_optimize;
-extern gboolean instrument_unique;
-extern __thread guint64 instrument_previous_pc;
-extern guint64 instrument_hash_zero;
-
-extern gboolean instrument_use_fixed_seed;
-extern guint64 instrument_fixed_seed;
-
-extern uint8_t *__afl_area_ptr;
-extern uint32_t __afl_map_size;
-
-void instrument_config(void);
+extern __thread uint64_t previous_pc;
+extern uint8_t * __afl_area_ptr;
+extern uint32_t __afl_map_size;
void instrument_init(void);
@@ -30,17 +19,9 @@ gboolean instrument_is_coverage_optimize_supported(void);
void instrument_coverage_optimize(const cs_insn * instr,
GumStalkerOutput *output);
-void instrument_debug_config(void);
-void instrument_debug_init(void);
-void instrument_debug_start(uint64_t address, GumStalkerOutput *output);
-void instrument_debug_instruction(uint64_t address, uint16_t size);
-void instrument_debug_end(GumStalkerOutput *output);
-void instrument_flush(GumStalkerOutput *output);
-gpointer instrument_cur(GumStalkerOutput *output);
-
-void instrument_on_fork();
-
-guint64 instrument_get_offset_hash(GumAddress current_rip);
-
+void instrument_debug_init(void);
+void instrument_debug_start(uint64_t address, GumStalkerOutput *output);
+void instrument_debug_instruction(uint64_t address, uint16_t size);
+void instrument_debug_end(GumStalkerOutput *output);
#endif
diff --git a/frida_mode/include/interceptor.h b/frida_mode/include/interceptor.h
new file mode 100644
index 00000000..0ff754a4
--- /dev/null
+++ b/frida_mode/include/interceptor.h
@@ -0,0 +1,11 @@
+#ifndef _INTERCEPTOR_H
+#define _INTERCEPTOR_H
+
+#include "frida-gum.h"
+
+void intercept(void *address, gpointer replacement, gpointer user_data);
+void unintercept(void *address);
+void unintercept_self(void);
+
+#endif
+
diff --git a/frida_mode/include/lib.h b/frida_mode/include/lib.h
index a9d56e4e..237aecb0 100644
--- a/frida_mode/include/lib.h
+++ b/frida_mode/include/lib.h
@@ -1,9 +1,7 @@
#ifndef _LIB_H
#define _LIB_H
-#include "frida-gumjs.h"
-
-void lib_config(void);
+#include "frida-gum.h"
void lib_init(void);
diff --git a/frida_mode/include/output.h b/frida_mode/include/output.h
index 743b2fe6..53a9fdd3 100644
--- a/frida_mode/include/output.h
+++ b/frida_mode/include/output.h
@@ -1,12 +1,8 @@
#ifndef _OUTPUT_H
#define _OUTPUT_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-extern char *output_stdout;
-extern char *output_stderr;
-
-void output_config(void);
void output_init(void);
#endif
diff --git a/frida_mode/include/persistent.h b/frida_mode/include/persistent.h
index c79f0143..25b44ab0 100644
--- a/frida_mode/include/persistent.h
+++ b/frida_mode/include/persistent.h
@@ -2,7 +2,7 @@
#ifndef _PERSISTENT_H
#define _PERSISTENT_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
#include "config.h"
typedef struct arch_api_regs api_regs;
@@ -19,10 +19,9 @@ extern unsigned char *__afl_fuzz_ptr;
extern guint64 persistent_start;
extern guint64 persistent_count;
extern guint64 persistent_ret;
+extern guint64 persistent_ret_offset;
extern gboolean persistent_debug;
-extern afl_persistent_hook_fn persistent_hook;
-
-void persistent_config(void);
+extern afl_persistent_hook_fn hook;
void persistent_init(void);
@@ -30,10 +29,7 @@ void persistent_init(void);
gboolean persistent_is_supported(void);
void persistent_prologue(GumStalkerOutput *output);
-void persistent_prologue_arch(GumStalkerOutput *output);
-
void persistent_epilogue(GumStalkerOutput *output);
-void persistent_epilogue_arch(GumStalkerOutput *output);
#endif
diff --git a/frida_mode/include/prefetch.h b/frida_mode/include/prefetch.h
index 835d5e8a..8f0cee68 100644
--- a/frida_mode/include/prefetch.h
+++ b/frida_mode/include/prefetch.h
@@ -1,11 +1,8 @@
#ifndef _PREFETCH_H
#define _PREFETCH_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-extern gboolean prefetch_enable;
-
-void prefetch_config(void);
void prefetch_init(void);
void prefetch_write(void *addr);
void prefetch_read(void);
diff --git a/frida_mode/include/ranges.h b/frida_mode/include/ranges.h
index 2eb9b355..c623f473 100644
--- a/frida_mode/include/ranges.h
+++ b/frida_mode/include/ranges.h
@@ -1,21 +1,13 @@
#ifndef _RANGES_H
#define _RANGES_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-extern gboolean ranges_debug_maps;
-extern gboolean ranges_inst_libs;
-extern gboolean ranges_inst_jit;
-
-void ranges_config(void);
void ranges_init(void);
gboolean range_is_excluded(gpointer address);
void ranges_exclude();
-void ranges_add_include(GumMemoryRange *range);
-void ranges_add_exclude(GumMemoryRange *range);
-
#endif
diff --git a/frida_mode/include/stalker.h b/frida_mode/include/stalker.h
index b5e05d5a..186ead11 100644
--- a/frida_mode/include/stalker.h
+++ b/frida_mode/include/stalker.h
@@ -1,13 +1,11 @@
#ifndef _STALKER_H
#define _STALKER_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
-void stalker_config(void);
void stalker_init(void);
GumStalker *stalker_get(void);
void stalker_start(void);
-void stalker_trust(void);
#endif
diff --git a/frida_mode/include/stats.h b/frida_mode/include/stats.h
index cd2350ea..4271132a 100644
--- a/frida_mode/include/stats.h
+++ b/frida_mode/include/stats.h
@@ -1,7 +1,7 @@
#ifndef _STATS_H
#define _STATS_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
typedef struct {
@@ -15,11 +15,6 @@ typedef struct {
extern stats_data_header_t *stats_data;
-extern char * stats_filename;
-extern guint64 stats_interval;
-extern gboolean stats_transitions;
-
-void stats_config(void);
void stats_init(void);
void stats_collect(const cs_insn *instr, gboolean begin);
void stats_print(char *format, ...);
@@ -28,7 +23,6 @@ gboolean stats_is_supported_arch(void);
size_t stats_data_size_arch(void);
void stats_collect_arch(const cs_insn *instr);
void stats_write_arch(void);
-void stats_on_fork(void);
#endif
diff --git a/frida_mode/include/util.h b/frida_mode/include/util.h
index 525e9d40..7b443b5e 100644
--- a/frida_mode/include/util.h
+++ b/frida_mode/include/util.h
@@ -1,7 +1,7 @@
#ifndef _UTIL_H
#define _UTIL_H
-#include "frida-gumjs.h"
+#include "frida-gum.h"
#define UNUSED_PARAMETER(x) (void)(x)
#define IGNORED_RETURN(x) (void)!(x)