积木首页 | 500多种网页特效 | 函数手册 | 广播电台 | 高清晰图片素材 | 服务器合租 | 万年历 | 网友最新浏览记录
程序开发 网页设计 搜索引擎 特效代码 操作系统 防范病毒 黑客技术 图形图象 电脑硬件 网络技术 服 务 器 数 据 库 网文精粹
您的位置:积木首页 >> 黑客技术频道 >> 黑客编程 >> 正文:
标题:在VC中编译驱动
时间:2005-1-10 来源:不详 浏览数:

通常编译驱动都是使用DDK中的Build.exe,由于它是命令行程序,使用很不方便。其实在VC++中也可以编译驱动,而且设置的方法也有很多,下面是其中一种,我想也是最常用的。

一般使用VC++编译驱动,可以建立一个Win32 (x86) Application工程,然后将所有Windows程序中的编译开关都删除,最后添加编译驱动的开关就行了。

"$(ddkroot)\inc\ddk"和"$(ddkroot)\inc"为DDK头文件目录。
DBG为编译方式,1为Debug,0为Release。
_X86_表示Intel平台驱动
添加int64.lib ntoskrnl.lib hal.lib三个库文件,并使用/nodefaultlib忽略其他默认库
/libpath:"$(ddkroot)\libchk\i386"设置DDK库文件目录
/base:"0x10000"修改基址,应用程序使用0x40000,驱动使用0x10000
/entry:"DriverEntry"驱动入口函数
-driver表示连接内核驱动
-subsystem:NATIVE,5.00表示子系统为Native

下面是一个名为TestDriver的dsp文件,修改TestDriver可以实现名字的改变,有兴趣的朋友可以写个程序。如果要用在XP或2003,还需要修改其他一些编译开关,例如:_WIN32_WINNT=0x500

dsp文件内容:

# Microsoft Developer Studio Project File - Name="TestDriver" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **

# TARGTYPE "Win32 (x86) Application" 0x0101

CFG=TestDriver - Win32 Debug Build
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "TestDriver.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "TestDriver.mak" CFG="TestDriver - Win32 Debug Build"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "TestDriver - Win32 Debug Build" (based on "Win32 (x86) Application")
!MESSAGE "TestDriver - Win32 Release Build" (based on "Win32 (x86) Application")
!MESSAGE

# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe

!IF  "$(CFG)" == "TestDriver - Win32 Debug Build"

# PROP Use_MFC 0
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD CPP /nologo /Gz /W3 /Gm /Gi /Zi /Od /I "$(ddkroot)\inc\ddk" /I "$(ddkroot)\inc" /D DBG=1 /D "_X86_" /D _WIN32_WINNT=0x500 /c
# ADD BASE RSC /l 0x804
# ADD RSC /l 0x804
BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /machine:IX86
# ADD LINK32 int64.lib ntoskrnl.lib hal.lib /nologo /base:"0x10000" /entry:"DriverEntry" /machine:I386 /nodefaultlib /out:"Debug\TestDriver.sys" /libpath:"$(ddkroot)\libchk\i386" -driver -subsystem:NATIVE,5.00
# SUBTRACT LINK32 /pdb:none

!ELSEIF  "$(CFG)" == "TestDriver - Win32 Release Build"

# PROP Use_MFC 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD CPP /nologo /Gz /W3 /Gi /I "$(ddkroot)\inc\ddk" /I "$(ddkroot)\inc" /D DBG=0 /D "_X86_" /D _WIN32_WINNT=0x500 /c
# ADD BASE RSC /l 0x804
# ADD RSC /l 0x804
BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /machine:IX86
# ADD LINK32 int64.lib ntoskrnl.lib hal.lib /nologo /base:"0x10000" /entry:"DriverEntry" /machine:I386 /nodefaultlib /out:"Release\TestDriver.sys" /libpath:"$(ddkroot)\libfre\i386" -driver -subsystem:NATIVE,5.00
# SUBTRACT LINK32 /pdb:none

!ENDIF

# Begin Target

# Name "TestDriver - Win32 Debug Build"
# Name "TestDriver - Win32 Release Build"
# Begin Group "Source Files"

# PROP Default_Filter "cpp;c;cxx;rc;bat"
# End Group
# Begin Group "Header Files"

# PROP Default_Filter "h;hpp"
# End Group
# End Target
# End Project

dsw文件内容:
Microsoft Developer Studio Workspace File, Format Version 6.00

# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!

 

###############################################################################

 

Project: "TestDriver"=.\TestDriver.dsp - Package Owner=<4>

 

Package=<5>

{{{

}}}

 

Package=<4>

{{{

}}}

 

###############################################################################

 

Global:

 

Package=<5>

{{{

}}}

 

Package=<3>

{{{

}}}

 

###############################################################################


(责任编辑:欣欣裴)
关于本站 | 广告服务 | 联系我们 | 版权申明 | 强强联盟 | 投稿热线 | 网站地图 | 申请链接
Copyright ©2005-2006 Gimoo.net All rights reserved. 积木网 版权所有
E-mail:gimoohr@gmail.com 京ICP备05050695号