2023驱动保护学习 -- 卸载驱动程序

一、创建回调函数,卸载驱动的时候会执行里面的操作

void 卸载驱动回调函数(PDRIVER_OBJECT 驱动对象)
{
  KdPrint(("nxyn:我被卸载了,驱动编号=%p", 驱动对象));
}

二、在主函数中调用该函数

extern "C" NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT 驱动对象, _In_ PUNICODE_STRING psg)
{
  
  驱动对象->DriverUnload = 卸载驱动回调函数;
  KdPrint(("nxyn:第一个驱动程序,驱动编号:%p", 驱动对象));
  return 0;
}

三、生成驱动文件,拷贝到虚拟机进行测试

四、在DebugView中设置标识符"nxyn",只查看包含nxyn的输出语句

五、在Monitor中,导入该驱动程序,点击go,然后点击stop,查看输出效果

六、在DebugView中会显示,我们要输出的语句,说明驱动加载和卸载都没问题。

七、程序源码

#include <ntifs.h>


void 卸载驱动回调函数(PDRIVER_OBJECT 驱动对象)
{
  KdPrint(("nxyn:我被卸载了,驱动编号=%p", 驱动对象));
}


extern "C" NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT 驱动对象, _In_ PUNICODE_STRING psg)
{
  
  驱动对象->DriverUnload = 卸载驱动回调函数;
  KdPrint(("nxyn:第一个驱动程序,驱动编号:%p", 驱动对象));
  return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web安全工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值