about summary refs log tree commit diff
path: root/examples/qemu_persistent_hook/read_into_rdi.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-02-08 15:41:17 +0100
committervan Hauser <vh@thc.org>2020-02-08 15:41:17 +0100
commit079f177cdaf43f017bf320912cd97f86dea586be (patch)
tree81731ad943e636ebb3ba7d116a01436810e200e7 /examples/qemu_persistent_hook/read_into_rdi.c
parentce49ba428bde81d34c01720f6e45bb28c66adee9 (diff)
downloadafl++-079f177cdaf43f017bf320912cd97f86dea586be.tar.gz
persistent mode doc
Diffstat (limited to 'examples/qemu_persistent_hook/read_into_rdi.c')
-rw-r--r--examples/qemu_persistent_hook/read_into_rdi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/examples/qemu_persistent_hook/read_into_rdi.c b/examples/qemu_persistent_hook/read_into_rdi.c
index fd4c9000..3994e790 100644
--- a/examples/qemu_persistent_hook/read_into_rdi.c
+++ b/examples/qemu_persistent_hook/read_into_rdi.c
@@ -37,8 +37,12 @@ enum {
 
 void afl_persistent_hook(uint64_t* regs, uint64_t guest_base) {
 
+  // In this example the register RDI is pointing to the memory location
+  // of the target buffer, and the length of the input is in RAX.
+
   printf("reading into %p\n", regs[R_EDI]);
   size_t r = read(0, g2h(regs[R_EDI]), 1024);
+  regs[R_EAX] = r;
   printf("readed %ld bytes\n", r);
 
 }