编写内核驱动-- HelloWord

 时间:2024-10-12 17:02:27

1、在VS2013中创建WDM项目,创建好项目后将MyDriver2 Package移除。

编写内核驱动-- HelloWord

2、最终如下图即可,并在Source Files目录中,添加一个Drive.c文件。

编写内核驱动-- HelloWord

3、在Drive.c文件中添加以下代码。#include <ntifs.h>挢旗扦渌; //<ntddk.h>蕺清寤凯VOID DriverUnload(PDRIVER_OBJECT objDriver){ // 避免编译器关于未引用参数的警告 UNREFERENCED_PARAMETER(objDriver); // 什么也不做,只打印一行字符串 DbgPrint("My Dirver is unloading...");}NTSTATUS DriverEntry(PDRIVER_OBJECT objDriver, PUNICODE_STRING strRegPath){ // 避免编译器关于未引用参数的警告 UNREFERENCED_PARAMETER(strRegPath); // 如果编译方式为Debug,则插入一个INT 3指令,方便我们调试#ifdef DBG _asm int 3;#endif // 打印一行字符串,并注册驱动卸载函数,以便于驱动卸载 DbgPrint("My First Dirver!\r\n");// KdPrint(("KD My First Dirver!\r\n")); objDriver->DriverUnload = DriverUnload; return STATUS_SUCCESS;}

4、编译后,将编译后MyDriver2.sys文件,拷贝到VMware中,使用A1SysTest.exe加载该驱动并安装。如下图,

编写内核驱动-- HelloWord

5、由于掳姗浚瑙Windows7默认对调试信息做了过滤处理,我们需要看到DbgPrint函数在Windows7系统中打印出信息,需要在修改注册表设置,将HKEY_LOCAL_MACHINE概嗤先眚\SYSTEM\CurrentControlSet\Control\Session Manager项,打开或创建子项Debug Print Filter,然后新建一个DWORD值DEFAULT,将其设置为0xF,重启即可。可以将如下代码拷贝到*.reg结尾的文件中,双击执行即可。Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]"DEFAULT"=dword:0000000f

6、运行VirtualKD监视工具vmmon.exe或vmmon64.exe即可。并将Debugger path...关联安装WDK中的WinDbg 即可。

编写内核驱动-- HelloWord

7、在VMware中点击A1SysTest.exe中的启动。就会发现WinDbg进入调试模式。

编写内核驱动-- HelloWord

8、在WinDbg中的按F10步过,如下图,在命令输入框中按g(或F5)让其继续运行即可。

编写内核驱动-- HelloWord
  • 在 VS 中新建 WPF 应用
  • python如何进行多线程操作
  • python开发环境配置和编写编译运行的方法
  • 如何安装虚拟机工具及使用快照功能备份系统
  • LINUXcentos7使用yum请求却返回404
  • 热门搜索
    雪花怎么剪 子怎么读 黄字怎么写好看 电脑屏幕怎么截图 韩语我爱你怎么说 优思明怎么吃 肾结石是怎么形成的 曹丕怎么死的 520怎么过 yy怎么创建频道