原文链接:http://blog.csdn.net/ddk3001/article/details/51485135
编写Linux内核模块,可以实现替换系统调用功能。
本文提供一个替换open系统调用的样例代码,功能和说明见代码。
参考代码:https://github.com/ricardoteixas/hook
在 https://github.com 中搜索 hook、kernel等,可以搜到很多可参考的代码。
/***************************************************************************
文件 : hook_open.c
功能 : 这是一个简单的内核模块,功能是替换了系统调用oepn,实现自定义open功能。
关键函数 :
my_sys_open // 自定义的open系统调用处理函数
syscall_init // 内核模块初始化函数
syscall_release // 内核模块退出函数
源代码参考 : https://github.com/ricardoteixas/hook
***************************************************************************/
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/syscalls.h>
#include <linux/delay.h>
#include <linux/sched.h>
#include <linux/version.h>
/**************************************************************************/
//
/**********