要想在VM调试驱动,记住,一定要在虚拟机里装上DS,否则不能调试。开始,我没有这样做,就在真实机器上安装了DS,每次连接NamePipe总是出错,几乎崩溃。现与大家分享!
近来,看到看雪软件安全论坛 CCDeath 等人编写的驱动程序设计基础,有很大的收获,终于可以在调试窗口看到了类似"Hello!World"的字符了。
但就他那个chm文件所提到的过程来达到我上面那个小小的要求,估计比较难。不是难以达到,而是说难以理解。我就他整理的chm提到的相关内容做一个补充,希望 对大家有帮助。
1、驱动开发和调试环境的设置(由qqeleven完成)
但个人认为先安以下步骤来做点事情也是挺好的。
(1)、安装VC---->ddk(对应操作系统的DDK)
(2)、DriverStudio3.2(这个有下的,就不用我多说了),若需要licence文件,你可以到迅雷里搜索
一个破解文件,文件名为compuware.dat.
行了,其他那些暂时不用去设置,因为目前我们用不上。
2、真正的驱动入门(—)[附小程序代码](由ccdeath完成)
进入主题了,我们看看ccdeath写的东东,确实不错的。但他对如何编译 vdw_wdm.lib 这个文件没有解释清楚,我现在来讲一下。
(1)、打开VC--->File--->Open workspace---->选择D:/Program Files/Compuware/DriverStudio/DriverWorks/source(我假设你所DriverStudio安装在D盘)目录下的VdwLibs.dsw文件(当然你若安装的IDE是VS2002,2003,都有对应的sln文件),我安装的是VC6。
(2)、因为装了DS(DriverStudio),所以在VC的主菜单会多出一个菜单选项---DriverStudio选项。派上用场了:)。DriverStudio菜单-》DDK Build Settings ,弹出对话框,设置DDK Root Directory,记住,这个只需要Root就行了。例如我的是 d:/winddk/2600。
(3)、在编译选项里设置为win32 wdm checked,然后编译。
(4)、如果一切正常的话,就应该会在D:/Program Files/Compuware/DriverStudio/DriverWorks/lib/i386/checked目录下生成 vdw_wdm.lib文件
OK,有了这个文件之后,CCDeath编译他的那个源代码会提示少
csq.lib
csq.h
ntstrsafe.lib
三个文件,他说他会上传到附件,但我好像没有找到。但是你可以到ddk2003下面找到这三个文件。我这里好像不能上传。要的话,发邮件到ytfrdfiw@sina.com.OK. qq:99282122
PS:我们要把 Tools->Options->Directories 里的 "include file" 和 "lib files"添加 DDK的路径,并把他们移到顶部,这样应该没有什么问题了吧。
现在你可以编译CCDeath的源代码了。编译好后,会在对应源文件的driver/objchk/i386目录下生成.sys文件。
这时你终于修成正果了,你打开DriverStudio里的DriverMonitor这个工具。选择Open Driver,Start Driver。
是不是看到了下面这个东东。(图一)
图一
好了,就暂告个段落,希望对你有帮助。
对了CCDeath的chm可到http://bbs.pediy.com/showthread.php?t=56192 看一下,顺便你下载来研究,大家一起进步。谢谢!