linux4.17后重写sys_call_table函数参数无法获得的解决方法
从社区中得到了一个解决方案:System call hooking example arguments are incorrect
然后搜索这个得到了这篇文章
其中,参数以const struct pt_regs *regs的形式存储,
第一个参数dfd在regs->di中
第二个参数filename在regs->si中
第三个参数flags在regs->dx中
第四个参数mode在regs->r10中
获取之后再对其进行类型转换即可。
主要是kernel4.17后对参数的获取做了修改,但是即使定义的函数没有hook上也不会影响正常使用的意思。
花了两天时间自己没解决,求助社区半天不到就解决了。