windows内核编程 环境配置

本文分享了一套基于VS2008、DDKWizard和WDK7.1.0的Windows内核编程开发环境搭建方案,适用于XP系统。文章详细介绍了安装步骤及常见错误解决方法。

 

 

最近在学习windows内核编程,为了搭建一个比较完善的开发环境,使内核编程比较方便,我在网上搜集了很多资料,最后整理出自己的一套比较不错的方案,现在拿出来和大家分享

1.首先安装vs2008 ,这个就不用多说了。在此我介绍一下一款好使的vs插件,我平常称其为vc助手,VA_X_Setup 。百度一下就可以下载到破解版的。

2.安装wdk。建议完整安装。网址是:http://www.microsoft.com/downloads/en/results.aspx?freetext=windows+driver+kit&displaylang=en&stype=s_basic 。我下载的是最新的WDK 7.1.0

3.下载ddkwizards,这个也是直接百度一下就可以下载到,在这我给个链接http://ddkwizard.assarbad.net/ 需要下载(ddkwizard.exe)ddkwizard_setup.exe DDKBUILD.bat (ddkbuild_bat.zip )和 DDKBUILD.cmd( ddkbuild_cmd.zip )。 下载完成后安装ddkwizard.exe.

4.将ddkbuild.cmd ddkbuild.bat 复制粘贴到安装wdk的根目录下,如我安装的是C:\WinDDK


4.设置环境变量。(右击)我的电脑->属性->高级->环境变量,添加C:\WinDDK;C:\WinDDK\ddkbuild.cmd;C:\WinDDK\ddkbuild.bat ;然后添加系统变量

新建系统变量,根据不同的系统选择

2000 DDK: W2KBASE
XP DDK: WXPBASE

2003 sp1 DDK: WNETBASE

win7/2008 R2----W7BASE ,中的一个.

我的创建的是XP驱动程序 ,所以变量名为 WXPBASE

变量值: C:\WinDDK\7600.16385.1



5.设置vs2008环境。vs2008->工具->选项->项目和解决方案->VC++目录。

配置wdk可执行文件

配置wdk库文件

配置wdk头文件


6.到这里vs2008+ddkwizard+wdk基于xp环境就已经搭建好了。

 

 

7.使用时可能出现的错误

error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作"
错误原因:没有设置“项目和解决方案”中的“VC++目录”

  • 解决方案:在“工具”->“选项”->“项目和解决方案”->“VC++目录”->“可执行文件”添加ddkbuild.cmd和ddkbuild.bat所在的路径。
  • 错误的结果 3 (从“C:\WINDOWS\system32\cmd.exe”返回)。   
    错误原因:没有设置环境变量
  • 解决方案:添加相应的环境变量
  • 最后还有一个和vs2010结合的环境配置例子http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.aspx里面还有好多相关内容

 

编写Windows内核程序,就意味着这个程序可以执行任意指令,可以访问计算机所有的软件、硬件资源。因此,稍有不慎就有可能将系统变得不稳定。Windows的设计者设计了各种驱动模型或者框架,如NT式内核驱动模型、WDM框架和新推出的WDF框架。在这些模型框架下编程,就使内核编程变得简单,同样也降低了内核程序崩溃的机会。其实,Windows驱动程序员和黑客都在写内核程序,唯一不同的是驱动程序员按照微软设计的模型写程序,而黑客可以不按照这些框架写。Windows设计的这些框架,可以将操作系统的原理隐藏起来,只暴露一些接口,驱动程序员只要把这些接口写好就可以了。从这个角度看,驱动开发并不难,尤其是读完本书后,更会觉得不难了。但是想完成一些特殊的功能,如内核级隐藏进程等,Windows的这些框架就没什么用处了,程序员就需要对Windows内核有全面的了解,通过直接修改Windows内核来实现这些目的。往往黑客对这种技术乐此不疲,通过修改Windows内核,你会发现你的程序几乎无所不能。   编写内核程序是一件很痛苦的事情,回想起这些年学习内核程序开发的经历,真是感慨万千。就如同谭文所说:编写内核程序的人从某种程度讲是孤独的。当一个经验并不丰富的小程序员面对庞大复杂的并且不开源的Windows框架时,那是一种怎样的无助感啊!谭文是我比较钦佩的程序员之一,他对技术非常执着,并且精力充沛。内核程序的知识涉及面非常广,不同类别的内核程序差别也特别大,他几乎都有所涉猎。相信读者在读完这本书后,能对Windows内核开发有比较详细的了解,同时也能结合书中的实例写出很优秀的内核程序了 本书从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的核心组件的具体编程。主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及3类NDIS驱动),以及最新的WDF驱动开发模型。有助于读者熟悉Windows内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从Windows 2000一直到目前最新的Windows 7 Beta版。  本书则基本上介绍的是正统的内核编程技术,是微软在内核编程中给信息安全软件开发者提供的相关接口的大集合,是名门正派的技术,不沾邪气。一个好的内核程序员,“正邪兼修”是有必要的。   本书既适合于有志于成为软件程序员的学生使用,也适合于希望加强自己的技术实力的Windows程序员阅读,同时更适合于从事信息安全行业的Windows软件的开发者作为手头参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值