inlinehook NtCreateFile

这篇博客介绍了如何在Windows驱动开发中使用inlinehook技术监控NtCreateFile函数。通过获取NtCreateFile的地址,关闭写保护,构造跳转指令,然后在钩子函数DetourNtCreateFile中检查文件路径,达到拦截特定文件创建的目的。当驱动卸载时,会恢复被hook的函数。
摘要由CSDN通过智能技术生成

#include "Driver.h"

 

unsigned char OrgCode[5]; //原函数开头5个字节的代码

unsigned char HookJmp[5] = {0xe9,0,0,0,0}; //放入原函数开头的Hook跳转

INT old_cr0; //存放cr0寄存器的内容

ULONG CreateAddr; //存放NtCreateFile的地址

#pragma LOCKEDCODE

/******************************************

打开写保护

*******************************************/

VOID WOpen(){

_asm{

cli

push eax

mov eax,old_cr0

mov cr0,eax

pop eax

}

return;

}

#pragma LOCKEDCODE

/******************************************

关闭写保护

*******************************************/

VOID WClose(){

_asm{

push eax

mov eax,cr0

mov old_cr0,eax

and eax,0xfffeffff

mov cr0,eax

pop eax

sti

}

}

#pragma LOCKEDCODE

/***************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值