在内核4.17 / 4.18及以后的版本中寻找有关syscall挂钩的示例代码或教程

时间:2019-05-03 17:48:45

标签: hook linux-device-driver kernel-module

尝试在x86_64和32位的内核4.17 / 4.18上挂钩sys_open,sys_creat,sys_exeve,sys_write和其他一些syscall来拦截文件系统活动。

我正在寻找一个示例内核模块代码或一个教程,该教程解释了如何在添加了syscall包装器的内核4.17 / 4.18及以后挂钩syscall。

在我的Ubuntu 18内核4.17上,/ proc / kallsyms具有__x64_sys_open,但没有ksys_open。

不确定是否需要挂接ksys_open或__x64_sys_open或sys_open。 我收到sys_open和__x64_sys_open的“删除标识符”的编译错误。

我需要使用哪些正确的标题,我需要定义哪些常量?

与sys_open一起,我需要钩住sys_creat,sys_openat,sys_execve,sys_truncate,sys_ftruncate,sys_write等...

在内核4.17之前,我能够找到sys_xyz的符号,但是从内核4.17开始,我不确定是否需要挂钩__x64_sys_xyz或ksys_xyz或sys_xyz。

在syscalls.h中,某些系统调用被注释为/ * __ARCH_WANT_SYSCALL_DEPRECATED * /

请帮助,谢谢

库马尔T

0 个答案:

没有答案