-
利用异常表实现内核函数的kmod_hooking挂钩
资源介绍
关于
该模块提供了允许使用异常表挂接内核功能的机制。
用法
给定具有原型typeof(X)的内核函数X ,让我们看看如何对其进行挂钩:
使用DECLARE_KHOOK(X)宏声明钩子
使用khook_X函数名称和typeof(X)作为原型来编写hook的主体
使用KHOOK_ORIGIN(X, args)宏作为X函数调用的包装器
用KHOOK_USAGE_INC(X)和KHOOK_USAGE_DEC(X)保护钩体
例子
#include // inode_permission() prototype lives here
DECLARE_KHOOK(inode_permission);
int khook_inode_permission(struct inode * inode, int mode)
{
int result;
KHOOK_USAGE_IN