windows内核开发环境的简易搭建

时间:2022-10-10 21:58:06

一、windows内核开发需要的软件

1.WDK

2.WinDbg

3.virtualKD


4.DebugView

5.Visual C++ 6.0

6.VMware Workstation


二、windows内核开发软件的安装


1.WDK的安装和配置

wdk的下载地址:http://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO

首先下载驱动开发包GRMWDK_EN_7600_1.ISO,并解压到本地文件夹,解压后WDK安装包:

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建


windows内核开发环境的简易搭建

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建



OK到现在为止,WDK的安装和配置全部完成,接下来的活就是它的使用。


2.virtualKD的安装和配置

在内核驱动开发时,VMware Workstation是必不可少的,VMware Workstation的安装教程网上很多(问度娘)。

假设VMware Workstation虚拟机已经安装好了,并且已经成功安装了Windows XP系统。笔者的虚拟机的版本:VMware Workstation10.1,虚拟机里安装的系统版本: Windows XP sp3(目标机),本地安装的系统版本:Windows XP sp3(宿主机)

virtualKD的下载地址:http://virtualkd.sysprogs.org/download/VirtualKD-2.8.exe

首先下载virtualKD到本地,并解压,如图:

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建



现在从虚拟机xp系统回到本地调试机XP系统中:

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建


OK到现在为止,virtulKD的安装和配置全部完成,接下来的活就是它的使用。


3.内核驱动开发IDE的使用

其实用EditPlus等文本软件工具也可以进行驱动程序的编码,但是不太方便。

由于驱动程序的编写主要是用C/C++,因此我们可以配置一下Visual C++ 6.0来进行驱动程序的简易编写。

windows内核开发环境的简易搭建

windows内核开发环境的简易搭建



windows内核开发环境的简易搭建


三、windows内核驱动程序的编写

一个简单的驱动程序所包含的文件:

windows内核开发环境的简易搭建


Hello.c的源码:

<span style="font-family:Microsoft YaHei;font-size:10px;">//开发NT驱动需要的头文件
#include <ntddk.h>

//驱动卸载函数的声明
VOID DriverUnload(
IN PDRIVER_OBJECT DriverObject
);

//驱动入口点函数
NTSTATUS DriverEntry(__in struct _DRIVER_OBJECT *DriverObject,
__in PUNICODE_STRING RegistryPath
)
{
//设置驱动的卸载函数
DriverObject->DriverUnload = DriverUnload;

//只会在checked版下显示输出
KdPrint(("hello wdk!\n"));

return STATUS_SUCCESS;
}

//驱动卸载函数
VOID DriverUnload(
IN PDRIVER_OBJECT DriverObject
)
{
KdPrint(("DriverUnload\n"));
}

//注:当在VC6.0的Include File里添加了WDK的头文件以后,
//在VC6.0里写代码就会出现代码高亮</span>


makefile文件--对于所有的驱动程序来说,内容是不变的(直接拷贝过来使用)。

windows内核开发环境的简易搭建


sources文件--驱动编译的配置文件

windows内核开发环境的简易搭建


一个简单的驱动程序需要的3个文件都准备好了,现在可以开始编译了:

windows内核开发环境的简易搭建

开始编译:

windows内核开发环境的简易搭建

编译后的文件夹:

windows内核开发环境的简易搭建

编译成功生成的驱动:

windows内核开发环境的简易搭建