diff options
| author | WorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com> | 2021-05-28 23:43:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-29 00:43:14 +0200 |
| commit | 6883605d1314503ad6ef8aadcadc90222da5c576 (patch) | |
| tree | 58df4d704207377e980e2c5b3d8c09ac8dfebd95 /frida_mode/include | |
| parent | de7370c0e966498ed95ab8a68ce57f6a1d10c21b (diff) | |
| download | afl++-6883605d1314503ad6ef8aadcadc90222da5c576.tar.gz | |
Support writing Stalker stats (#945)
* Support writing Stalker stats * Fixed string handling in print functions Co-authored-by: Your Name <you@example.com>
Diffstat (limited to 'frida_mode/include')
| -rw-r--r-- | frida_mode/include/instrument.h | 1 | ||||
| -rw-r--r-- | frida_mode/include/output.h | 9 | ||||
| -rw-r--r-- | frida_mode/include/stats.h | 28 |
3 files changed, 38 insertions, 0 deletions
diff --git a/frida_mode/include/instrument.h b/frida_mode/include/instrument.h index 75ee6396..ed92c25a 100644 --- a/frida_mode/include/instrument.h +++ b/frida_mode/include/instrument.h @@ -19,6 +19,7 @@ gboolean instrument_is_coverage_optimize_supported(void); void instrument_coverage_optimize(const cs_insn * instr, GumStalkerOutput *output); +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); diff --git a/frida_mode/include/output.h b/frida_mode/include/output.h new file mode 100644 index 00000000..53a9fdd3 --- /dev/null +++ b/frida_mode/include/output.h @@ -0,0 +1,9 @@ +#ifndef _OUTPUT_H +#define _OUTPUT_H + +#include "frida-gum.h" + +void output_init(void); + +#endif + diff --git a/frida_mode/include/stats.h b/frida_mode/include/stats.h new file mode 100644 index 00000000..4271132a --- /dev/null +++ b/frida_mode/include/stats.h @@ -0,0 +1,28 @@ +#ifndef _STATS_H +#define _STATS_H + +#include "frida-gum.h" + +typedef struct { + + guint64 num_blocks; + guint64 num_instructions; + guint64 stats_last_time; + guint64 stats_idx; + guint64 transitions_idx; + +} stats_data_header_t; + +extern stats_data_header_t *stats_data; + +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); + +#endif + |
