diff options
Diffstat (limited to 'frida_mode/include')
-rw-r--r-- | frida_mode/include/asan.h | 3 | ||||
-rw-r--r-- | frida_mode/include/ctx.h | 13 | ||||
-rw-r--r-- | frida_mode/include/entry.h | 9 | ||||
-rw-r--r-- | frida_mode/include/frida_cmplog.h | 1 | ||||
-rw-r--r-- | frida_mode/include/instrument.h | 35 | ||||
-rw-r--r-- | frida_mode/include/interceptor.h | 11 | ||||
-rw-r--r-- | frida_mode/include/lib.h | 4 | ||||
-rw-r--r-- | frida_mode/include/output.h | 6 | ||||
-rw-r--r-- | frida_mode/include/persistent.h | 10 | ||||
-rw-r--r-- | frida_mode/include/prefetch.h | 5 | ||||
-rw-r--r-- | frida_mode/include/ranges.h | 10 | ||||
-rw-r--r-- | frida_mode/include/stalker.h | 4 | ||||
-rw-r--r-- | frida_mode/include/stats.h | 8 | ||||
-rw-r--r-- | frida_mode/include/util.h | 2 |
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) |