diff --git a/README.md b/README.md index 4aeae97..40ba802 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ Use `khook_lookup_name(sym)` to resolve `sym` address. # Examples +See the `khook_demo` folder for examples. Use `make` to build it. + ## Hooking of generic kernel functions An example of hooking a kernel function with known prototype (function is defined in `linux/fs.h`): @@ -99,6 +101,7 @@ static long khook___x64_sys_kill(const struct pt_regs *regs) { - x86 only - 2.6.33+ kernels - use of in-kernel length disassembler +- ready-to-use submodule with no external deps # How it works? diff --git a/Kbuild b/khook_demo/Kbuild similarity index 90% rename from Kbuild rename to khook_demo/Kbuild index 3408f60..a0cbf13 100644 --- a/Kbuild +++ b/khook_demo/Kbuild @@ -1,6 +1,6 @@ MODNAME ?= khook-demo -include $(src)/Makefile.khook +include $(src)/../Makefile.khook obj-m += $(MODNAME).o $(MODNAME)-y += main.o $(KHOOK_GOALS) diff --git a/Makefile b/khook_demo/Makefile similarity index 71% rename from Makefile rename to khook_demo/Makefile index 3b094f9..7e5361d 100644 --- a/Makefile +++ b/khook_demo/Makefile @@ -1,6 +1,6 @@ KDIR ?= /lib/modules/$(shell uname -r)/build all: - $(MAKE) -C $(KDIR) M=$$PWD + $(MAKE) -C $(KDIR) M=$$PWD modules clean: $(MAKE) -C $(KDIR) M=$$PWD clean diff --git a/main.c b/khook_demo/main.c similarity index 100% rename from main.c rename to khook_demo/main.c