[用户投稿] Win 64 驱动编程 第二课 编写第一个HelloWord驱动程序

  2018年04月20日  深蓝  26810 阅读 Tag:

感谢本站用户:shenyizhe 投稿为大家分享。

直接上图

QQ图片20180420201535.png

 

 

删除.inf

 

删除inf.png

 

添加代码文件

3.png

 

配置项目属性

 

4.png

 

5.png

 

 

6.png

 

7.png

 

关闭签名

 

8.png

 

虚拟机禁用驱动签名

 

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

 

重启虚拟机

 

在调试驱动时,我们需要用到几个小工具

 

1.驱动加载工具InstDrv,我用的是1.3,

2.驱动模块查看工具 PCHunter64 

3.Dbgview

 

Dbgview不显示调试信息,请将下面注册表导入,导入后重启虚拟机

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f

 

至此,设置完成,开始编写我们的驱动代码

 

#include<ntddk.h>
#define INITCODE code_reg("INIT")
#pragma INITCODE

VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject); // 前置说明卸载例程

//TYPEDEF LONG NTSTATUS

 

// 驱动入口
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject,PUNICODE_STRING B) {
KdPrint(("驱动加载成功...Success!"));
pDriverObject->DriverUnload = DDK_Unload;

return(1);
}

 // 驱动卸载

VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject) {
KdPrint(("驱动成功卸载...OK!"));
DbgPrint("卸载成功!");
}

 

 

将上述代码copy到HelloWord.c

“生成解决方案”,或者是“重新生成解决方案”

 

9.png

 

驱动编译成功

 

启动虚拟机

 

打开主机WinDbg x64

 

虚拟机断下时,输入命令"g" 让虚拟机继续跑起来

 

接下来我们看一下调试信息

 

将生成的驱动拷贝到虚拟机

打开PCHunterX64

打开Dbgview

 

接下来打开InstDrv安装我们的驱动

启动

 

10.png

 

刷新驱动模块

 

OK..就可以看到我们的驱动加载成功了~~

 

 

 

 

 


      我的工单留言列表与站长回复 . 共有留言: 10 条