尝试在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