You've already forked AFLplusplus
mirror of
https://github.com/AdaCore/AFLplusplus.git
synced 2026-02-12 13:08:19 -08:00
Removed use of 'realpath' in makefiles to fix OSX incompatibility Fixed handling of when prefetching should be enabled Snap the main binary during initialization to avoid stability issues with lazy loading Add support for configurable inline cache entries for FRIDA on x86/x64 Support for prefetching FRIDA backpatches on x86/x64 Improved stats support on x86/x64/aarch64
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
|
|
|