WDK VC2008 开发调试Win7 64位驱动详细步骤 转载

WDK VC2008 开发调试Win7 64位驱动详细步骤 (2017-04-12 22:43:10)转载▼
标签: it
经本人反复尝试成功搭建并能调试 WIN7 64位驱动,写成博客备忘以供不时之需。

严格按照以下步骤,就可以开发和调试

需要的工具和条件:

WIN7 64位电脑一台

WDK7.1文件GRMWDK_EN_7600_1.ISO

ddkwizard+ddkbuild_bat+ddkbuild_cmd.rar

InstSrv.exe

DebugVieiw.exe

64Signer.exe(数字签名用,可有可无)

VMWare9 安装WIN7 64位虚拟机一台,测试驱动使用。

环境搭建步骤:

1.首先必须要在WIN764位电脑上来安装VS2008,XP电脑貌似无法开发WIN7 64位的东西(试过没成功)。

2.从MS下载和安装WDK7.1 光盘 GRMWDK_EN_7600_1.ISO(自己找就行了),注意安装时不要选DSF.

3.从CSDN下载 ddkwizard+ddkbuild_bat+ddkbuild_cmd.rar 运行ddkwizard ,把ddkbuild.bat ddkbuild.cmd复制到DDK的根目录,如 E:\WINDDK

4.系统环境变量 path后追加 E:\WINDDK ,新建两个系统环境变量 W7BASE WLHBASE 值都是 E:\WINDDK\7600.16385.1

5.启动VS2008 ,进入VC开发环境,工具->选项->项目和解决方案->VC++目录

包含目录 E:\WINDDK\7600.16385.1\inc

库目录 E:\WINDDK\7600.16385.1\lib

6.文件->新建->项目->Visual C++->DDK Project ->Empty driver

名称 EmptyDriver1

确定

7.解决方案 -> Source File ->右键->添加->新建项->C++文件 ->test.c

如果产生的是test.cpp 则 F2改为 test.c,输入以下内容

include

VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint(“[Test] Hello DriverUnload\r\n”);
}

NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{
DbgPrint(“[Test] Hello,DriverEntry!\r\n”);
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}

  1. 选择 W7X64 Checked ,生成解决方案

9.复制 DebugView.exe InstSrv.exe到虚拟机

10.进入虚拟机,Regedit->HKEY_LOCAL_MACHINE->SYSTEM->Current Control Set ->Control->Session Manager 结点右健,新建->项 Debug Print Filter

加入一个DEFAULT DWORD值 0XF,重启虚拟机,重启时按F8选 禁止驱动强制签名 方式启动

  1. 将生成的 EmptyDriver1.sys复制到虚拟机桌面,InstSrv.exe ->选择桌面的 EmptyDriver1.sys 安装,先不要启动驱动,此时运行起 DebugView.exe -> Capture Kernel , InstSrv界面点启动驱动。此时就可以看到驱动的调试信息输出在 DebugView.exe 里面了。

启动驱动时,WIN7会弹出一个需要数字签名的提醒,不用管它只是个提示,关掉它就行。

12.也可以用64Signer对sys签名,但测试时需要对虚拟机进行:

以管理员身份运行cm

BCDEDIT - SET TESTSIGNING ON

BCDEDIT - SET TESTSIGNING OFF

打开或关闭系统的调试模式,重启

至此就完成了 WDK+VS2008+WIN7 X64 环境的搭建,和驱动框架的编写和调试。

写这些东西也是为了自己以后再用到时,能够快速拿过来做参考。

猜你喜欢

转载自blog.csdn.net/WZD023/article/details/81582645