diff options
author | van Hauser <vh@thc.org> | 2021-08-20 23:15:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-20 23:15:18 +0200 |
commit | ca9c87dd45d8b9a746a212cbc6ce85b78b637d8c (patch) | |
tree | 665b9368d2c1908cf71dbc4a76517f88c5317d9a /frida_mode/include/stats.h | |
parent | d8c221fade27b75a387587dc7b5e20ab82ec8012 (diff) | |
parent | 028f8ced8f772d82a7efc522ec629bf4a5fff32d (diff) | |
download | afl++-ca9c87dd45d8b9a746a212cbc6ce85b78b637d8c.tar.gz |
Merge pull request #1075 from WorksButNotTested/test
Various New Features & Fixes
Diffstat (limited to 'frida_mode/include/stats.h')
-rw-r--r-- | frida_mode/include/stats.h | 56 |
1 files changed, 41 insertions, 15 deletions
diff --git a/frida_mode/include/stats.h b/frida_mode/include/stats.h index cd2350ea..0ad227c3 100644 --- a/frida_mode/include/stats.h +++ b/frida_mode/include/stats.h @@ -5,30 +5,56 @@ typedef struct { - guint64 num_blocks; - guint64 num_instructions; - guint64 stats_last_time; - guint64 stats_idx; - guint64 transitions_idx; + guint64 stats_time; + guint64 total; + guint64 call_imm; + guint64 call_reg; + guint64 call_mem; + guint64 excluded_call_reg; + guint64 ret_slow_path; + guint64 ret; + guint64 post_call_invoke; + guint64 excluded_call_imm; + guint64 jmp_imm; + guint64 jmp_reg; + guint64 jmp_mem; + guint64 jmp_cond_imm; + guint64 jmp_cond_mem; + guint64 jmp_cond_reg; + guint64 jmp_cond_jcxz; + guint64 jmp_cond_cc; + guint64 jmp_cond_cbz; + guint64 jmp_cond_cbnz; + guint64 jmp_cond_tbz; + guint64 jmp_cond_tbnz; + guint64 jmp_continuation; + +} stats_t; -} stats_data_header_t; +typedef struct { + + /* transitions */ + stats_t curr; + stats_t prev; + +} stats_data_t; -extern stats_data_header_t *stats_data; +#define GUM_TYPE_AFL_STALKER_STATS (gum_afl_stalker_stats_get_type()) +G_DECLARE_FINAL_TYPE(GumAflStalkerStats, gum_afl_stalker_stats, GUM, + AFL_STALKER_STATS, GObject) -extern char * stats_filename; -extern guint64 stats_interval; -extern gboolean stats_transitions; +extern char * stats_filename; +extern guint64 stats_interval; void stats_config(void); void stats_init(void); void stats_collect(const cs_insn *instr, gboolean begin); void stats_print(char *format, ...); -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); +void starts_arch_init(void); +void stats_collect_arch(const cs_insn *instr, gboolean begin); +void stats_write_arch(stats_data_t *data); +void stats_on_fork(void); #endif |