diff --git a/.gitattributes b/.gitattributes
index 05c4d4ebff7f851af4479326956a70cf9a0e533d..2f1d8b6d0438079423a1819495a78b2aa5a045bf 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -24,6 +24,8 @@ datashadow/datashadow_callbacks.c -text
 datashadow/test_datashadow.cpp -text
 example/Makefile.in -text
 example/callback.c -text
+hello/Makefile.in -text
+hello/hello.c -text
 hookdynamic/Makefile.in -text
 hookdynamic/hook_dynamic_callbacks.c -text
 inferfn/Makefile.in -text
diff --git a/configure.in b/configure.in
index 0c573ce379a272b8d7fbd5768d43ef64d62f6b10..401b4d387bc3372ec0d25e4eba9441af890e54e9 100644
--- a/configure.in
+++ b/configure.in
@@ -73,6 +73,7 @@ enable_dir rss
 enable_dir hookdynamic
 enable_dir canaries
 enable_dir mixr
+enable_dir hello
 enable_dir cookbook
 enable_dir buffrecv
 enable_dir datashadow
diff --git a/hello/Makefile.in b/hello/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..06b667ddd10ddd149fa849e7f7520b3a02db55e0
--- /dev/null
+++ b/hello/Makefile.in
@@ -0,0 +1,28 @@
+
+
+CC=@CC@
+EXTRA_INCLUDES=
+CFLAGS=-fno-omit-frame-pointer @CFLAGS@ -O0 $(EXTRA_INCLUDES)
+LIB=@LIB@
+AR=@AR@
+AS=@AS@
+ASFLAGS=@ASFLAGS@
+
+OBJS=hello.o
+SRCS=hello.c
+
+.SUFFIXES: .o .s .c
+
+.c.o:
+	$(CC) $(CFLAGS) $(INCLUDE) -D__$(ARCH) -c $<
+
+.s.o:
+	$(AS) $(ASFLAGS) $<
+
+
+all: 	$(OBJS)
+	$(AR) -r $(LIB) $(OBJS)
+clean:
+	rm *.o
+	
+
diff --git a/hello/hello.c b/hello/hello.c
new file mode 100644
index 0000000000000000000000000000000000000000..3fdf6849696a9c0e324649916264c408ac0ce8f5
--- /dev/null
+++ b/hello/hello.c
@@ -0,0 +1,15 @@
+int syscall(int number, ...);
+#include <stdlib.h>
+#include <malloc.h>
+#include <stdint.h>
+#include <strlen.h>
+#include <itox.h>
+
+void print_str(char *s)
+{
+	write(1,s,strlen(s));
+}
+void zipr_hook_start(unsigned int id, unsigned long long rax, unsigned long long rsp)
+{
+	print_str("Hello!\n");
+}