mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-08 08:11:34 +00:00
61 lines
1.2 KiB
C
61 lines
1.2 KiB
C
#ifndef _STATS_H
|
|
#define _STATS_H
|
|
|
|
#include "frida-gumjs.h"
|
|
|
|
typedef struct {
|
|
|
|
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;
|
|
|
|
typedef struct {
|
|
|
|
/* transitions */
|
|
stats_t curr;
|
|
stats_t prev;
|
|
|
|
} stats_data_t;
|
|
|
|
#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;
|
|
|
|
void stats_config(void);
|
|
void stats_init(void);
|
|
void stats_collect(const cs_insn *instr, gboolean begin);
|
|
void stats_print(char *format, ...);
|
|
|
|
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
|
|
|