欢迎来到天天文库
浏览记录
ID:33929657
大小:1015.28 KB
页数:42页
时间:2019-02-28
《驱动编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、驱动编程图解入门教程编程环境:windowsxp开发工具:DDK,VC6.0辅助工具:Dbgview,STDRV,WinObjEx和IceSword第一步:安装DDK,且设置环境变量,完装DDK之后的路径为:D:ProgramFilesMicrosoftVisualStudioWINDDK,调置环境变量为:基础入门篇实例示例一:Hello,World驱动第一步:创建工程DBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠1第二步:设置Commandline路径如下:build.bat
2、%DDKROOT%checkedH:H:MyprogramWindowsRootKitHello这里用makefile工程来完成驱动程序的编译和创建。在后面的build.bat具体讲解H:工程创建的盘符H:MyprogramWindowsRootKitHello工程路径。设置如上。第三步:创建MAKEFILE文件DBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠2然后把TXT的后缀去掉,并加入到工程中。第四步:创建Build.bat文件if"%1"==""gotoInva
3、lidParameterifnotexist%1binsetenv.batgotoSetenvNotFoundcall%1binsetenv.bat%1%2%3cd%4build.exe-cZ:InvalidParameterechoInvalidParameter.gotoexit:SetenvNotFoundDBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠3echoCan'tfoundSetenv.bat.gotoexit:exit批处理里%1表示DDK安装路径%2表示编译
4、模式DebugRelease%3表示盘符%4表示工程路径第五步:编写驱动代码:#includeNTSTATUSDriverEntry(INPDRIVER_OBJECTpDriverObject,INPUNICODE_STRINGpRegistryPath){DbgPrint("Hello,WorldDriverEntryLoading...");returnSTATUS_SUCCESS;}驱动程序的编译,加入ndis.h头文件,DbgPrint可以在Debug下输入调试信息。另外:DDK的路径设置如下:D:PROGRAMFILESM
5、ICROSOFTVISUALSTUDIOWINDDKINCDDKW2KD:PROGRAMFILESMICROSOFTVISUALSTUDIOWINDDKINCDDKWXPDBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠4D:PROGRAMFILESMICROSOFTVISUALSTUDIOWINDDKINCW2KD:PROGRAMFILESMICROSOFTVISUALSTUDIOWINDDKINCWXP顺序不要错误。如下图:第六步:创建Sour
6、ce,编译创建完后,去掉后缀名Souce内容如下:TARGETNAME=Hello<--------------------------驱动编译后的SYS名称TARGETPATH=objDBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠5TARGETTYPE=DRIVER#TARGETLIBS=$(DDK_LIB_PATH)tdll.lib#$(DDK_LIB_PATH)dis.libMSC_WARNING_LEVEL=-W3-WXMSC_OPTIMIZATION=/OdiIN
7、CLUDES=C_DEFINES=$(C_DEFINES)-DUNICODE-D_UNICODEC_DEFINES=$(C_DEFINES)-DNDIS50_MINIPORT=1C_DEFINES=$(C_DEFINES)-DNDIS50=1SOURCES=HelloDriver.c<-------------------------需要编译的C/C++文件然后编译,Hello.sys文件第七步:调试DBIOCP技术文档Blog:http://blog.163.com/wu_yanan2003QQ:11718111楠楠6用InstDrv安装驱动,启动,De
8、bugView的显示结果如上。示例二:操作注册表(读写)把Hell
此文档下载收益归作者所有