diff options
author | van Hauser <vh@thc.org> | 2020-12-11 11:38:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-11 11:38:22 +0100 |
commit | 12d62d539353517abee8069df6e591f4fc474e93 (patch) | |
tree | c7ec08c39d3153ab3de1602fbda0739dd32dd37e /utils/aflpp_driver/aflpp_qemu_driver_hook.c | |
parent | 3997d06cbd09e12cd0367170b3e2698ee71dd8cf (diff) | |
parent | d5ded820e5b610f330cf23f53c21c169032a725a (diff) | |
download | afl++-12d62d539353517abee8069df6e591f4fc474e93.tar.gz |
Merge pull request #617 from AFLplusplus/dev
push to stable
Diffstat (limited to 'utils/aflpp_driver/aflpp_qemu_driver_hook.c')
-rw-r--r-- | utils/aflpp_driver/aflpp_qemu_driver_hook.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/utils/aflpp_driver/aflpp_qemu_driver_hook.c b/utils/aflpp_driver/aflpp_qemu_driver_hook.c new file mode 100644 index 00000000..823cc42d --- /dev/null +++ b/utils/aflpp_driver/aflpp_qemu_driver_hook.c @@ -0,0 +1,22 @@ +#include <stdint.h> +#include <string.h> + +#define g2h(x) ((void *)((unsigned long)(x) + guest_base)) + +#define REGS_RDI 7 +#define REGS_RSI 6 + +void afl_persistent_hook(uint64_t *regs, uint64_t guest_base, + uint8_t *input_buf, uint32_t input_len) { + + memcpy(g2h(regs[REGS_RDI]), input_buf, input_len); + regs[REGS_RSI] = input_len; + +} + +int afl_persistent_hook_init(void) { + + return 1; + +} + |