首先去微软官方下载DDK开发包,我下的WIN 2003的DDK,里面附带了2000、XP和2003的
另外我已经安装了VC 6.0了,在装DDK之前务必先装VC(准备用VC写的话),前辈的经验谨记于心~
谁觉得自己很牛的话记事本写应该也可以。。自己每次打命令不嫌累的话。。。
创建一个目录DriverEnv(目录名随意),在该目录下创建一个批处理文件MakeDrvr.bat,内容如下:
@echo off
if "%1"=="" goto usage
if "%3"=="" goto usage
if not exist %1\bin\setenv.bat goto usage
call %1\bin\setenv %1 %4
%2
cd %3
build -b -w %5 %6 %7 %8 %9
goto exit
:usage
echo usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]echo eg MakeDrvr %%DDKROOT%% C: %%WDMBOOK%% free -cef
:exit
解释一下:
1% 是DDK_dir,也就是ddk的安装目录
2% 是Driver_Drive,是你工作目录所在的盘符,例如我的工程在G盘的话就写G:
3% 是Driver_Dir,是你工作目录的路径,这里是G:\FirstSys
4% 是编译模式,checked表示调试模式,free表示发行模式。
该批处理首先对传递的参数作一些检查,然后调用ddk的setenv命令设置环境变量,然后改变目录为源程序所在驱动器和目录,并最后调用build,-b保证显示完全的错误信息,-w保证在屏幕上输出警告,在vc ide里的output窗口中可以看到这些错误和警告。
MakeDrvr.bat在DriverEnv目录,所以应把该目录添加到VC的Executable files里面选tools的options菜单项,然后选directories页,在show directories for一栏选择Executable files,然后添加
接下来可以用VC开发驱动了
新建一个MAKEFILE的工程,一路next,完成。然后再VC的Project->settings里面改变设置(我用的中文版,就是工程->设置)
修改这两种配置
=============================================================
Release
=============================================================
build command line(创建命令行):
MakeDrvr D:\WINDDK\3790.1830 G: G:\FirstSys free
rebuild all opinions(重建全部选项):
-nmake /a
output filename(输出文件名):
FirstSys.sys
browse info file name(浏览信息文件名):
FirstSys.bsc
=============================================================
Debug
=============================================================
build command line(创建命令行):
MakeDrvr D:\WINDDK\3790.1830 G: G:\FirstSys checked
rebuild all opinions(重建全部选项):
-nmake /a
output filename(输出文件名):
FirstSys.sys
browse info file name(浏览信息文件名):
FirstSys.bsc
新建一makefile(注意没有后缀)放入源程序目录,其内容总是
#
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
# file to this component. This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#
!INCLUDE $(NTMAKEENV)\makefile.def
再建立一文件Sources放入源程序目录,内容为
TARGETNAME=FirstSys //这是要生成的驱动程序.sys文件的名字
TARGETPATH=. //.sys文件所在目录的上层目录
TARGETTYPE=DRIVER //驱动程序的类型,一般不变
INCLUDES=$(BASEDIR)\inc //ddk包含文件路径,一般不变(根据实践这句可以省去)
SOURCES=FirstSys.c //源文件(不要头文件),资源文件
BROWSER_INFO = 1 //若想要浏览信息,则要有本行;否则可无
一般只要以下4行就可以了:
TARGETNAME=FirstSys
TARGETPATH=.
TARGETTYPE=DRIVER
SOURCES=FirstSys.c
在FirstSys.c里写上代码后F7编译吧,然后会在工程目录下的I386文件夹得到编译的sys文件
总结一下,不要网上拿来不动脑经就全抄,我又上过当了。。创建命令行里按照网上抄的填了
MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR free [build options]
结果发现被忽悠了,本来还以为是通用的配置呢。。写文章的没写清楚,抄的人可能有些自己都没看过吧
VC6
我想请问 。 直接把 build.bat 放到。工程目录
然后setting里面设置 build chk or fre
不照样 可以吗???
需要这么麻烦吗??
还是说 直接这样,有些 东西会被忽略???
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)