电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

(网络空间安全技术实践)11.1wdk的安装调试

  • 资源ID:88146729       资源大小:1.65MB        全文页数:40页
  • 资源格式: PPTX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

(网络空间安全技术实践)11.1wdk的安装调试

网络空间安全技术实践教程,吕秋云,王小军,胡耿然,汪云路,王秋华 西安电子科技大学出版社,第三篇 网络安全理论与技术实验篇,第十一章 操作系统安全编程实验 11.1 WDK的安装调试,网络空间安全技术实践教程,2,11.1 WDK的安装调试,实验目的: 本实验要求在Windows下安装WDK,并且搭建驱动程序的调试环境,编译出第一个运行在Windows内核中的驱动程序。,网络空间安全技术实践教程,3,11.1 WDK的安装调试,实验预备理论: (1)对于操作系统来说,什么是Kernel Mode,什么是User Mode? 为了不让程序任意存取资源,大部分的CPU架构都支持Kernel mode与User mode两种执行模式。当CPU运行于Kernel mode时,任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚拟地址和控制虚拟内存硬件;这种模式对应x86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式。当CPU运行于User Mode时,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查,如果运行的代码不能通过操作系统的某种门机制,就不能进入内核模式;这种模式对应于x86的ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。,网络空间安全技术实践教程,4,11.1 WDK的安装调试,实验预备理论: (2)驱动程序是什么?Windows驱动有几种类型(例如NT/WDM等)?它一般运行在哪个Mode上? 驱动程序是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。Windows驱动程序分为两类,一类是不支持即插即用功能的NT式的驱动程序;另一类是支持即插即用功能的WDM式的驱动程序。他们都运行于kernel mode。 (3)Win32 API是什么?x86是什么意思?x64又是什么意思? win32 API 是指微软32位平台的应用编程接口。 X86通常是指32位计算机系统。X64通常指64位计算机系统。,网络空间安全技术实践教程,5,11.1 WDK的安装调试,实验预备理论: (1)对于操作系统来说,什么是Kernel Mode,什么是User Mode? 为了不让程序任意存取资源,大部分的CPU架构都支持Kernel mode与User mode两种执行模式。当CPU运行于Kernel mode时,任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚拟地址和控制虚拟内存硬件;这种模式对应x86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式。当CPU运行于User Mode时,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查,如果运行的代码不能通过操作系统的某种门机制,就不能进入内核模式;这种模式对应于x86的ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。,网络空间安全技术实践教程,6,11.1 WDK的安装调试,实验要点说明:(实验难点说明) 安装WDK 编译NT驱动中的HelloWorld! 调试环境的配置,网络空间安全技术实践教程,7,11.1 WDK的安装调试,实验准备: (实验环境,实验先有知识技术说明) Host机:装有WDK Version 7.1.0的Win7 x64位操作系统(或装有WDK Version 10.0.14393.0的Win10 x64位操作系统) WinDbg 6.12.0002.633,网络空间安全技术实践教程,8,11.1 WDK的安装调试,实验准备: (实验环境,实验先有知识技术说明) 虚拟机:装有WDK Version 7600.16385.1的Windows 7 x64操作系统 DriverMonitor Version 3.2.0 DbgView Version 4.76 driver signature enforcement overrider Version 1.3b,网络空间安全技术实践教程,9,11.1 WDK的安装调试,实验步骤: 1)为Host机和虚拟机安装WDK 下面以为host机的Win7系统安装WDK为例说明WDK安装步骤。虚拟机的Win7系统中也需要安装wdk,步骤一致,版本选7.6或8.1,可在Windows官网依据系统版本查找。 首先,利用百度搜索WDK,如图11-1-1所示,进入官网下载wdk工具包,如图11-1-2所示。 下载后打开安装包,开始安装WDK7后,按照安装提示点击“下一步”即可完成安装,如图11-1-3所示。,网络空间安全技术实践教程,10,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 (1)新建DriverEntry.c文件 在安装WDK之后,我们就可以开始编译驱动了。我们先在一个目录下新建一个文件DriverEntry.c,内容如下: #include void DriverUnload(PDRIVER_OBJECT driver) /Do nothing. NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path) DbgPrint(“Hello, World!“); driver-DriverUnload = DriverUnload; return STATUS_SUCCESS; ,网络空间安全技术实践教程,11,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 DriverEntry是每个内核模块的入口,在加载这个模块时被系统进程System调用一次。DriverEntry好比控制台的main函数,它的两个参数类型为:PDRIVER_OBJECT和PUNICODE_STRING。对于前者,PDRIVER_OBJECT是时DRIVER_OBJECT结构的结构体指针,PDRIVER_OBJECT结构体中有一个重要的成员DriverUnload,它代表卸载该驱动程序的函数指针。我们设置了DriverUnload的函数指针,这样这个模块可以被动态地卸载,如果没有设置,那么我们的驱动程序一旦加载就不能卸载了。 NTSTATUS被定义为32位的无符号长整型。在驱动程序开发中,人们习惯用NTSTATUS返回状态。其中00X7FFFFFFF被认为是正确的状态,而0X800000000XFFFFFFFF被认为是错误的状态。我们通常用NT_SUCCESS这个宏来判定函数返回的状态是否正确。,网络空间安全技术实践教程,12,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 PUNICODE_STRING是UNICODE_STRING的结构体指针。UNICODE_STRING在内核中是一个最基础的结构,其结构体如下: typedef struct _UNICODE_STRING USHORT Length; USHORT MaximumLength; PWSTR Buffer; UNICODE_STRING ,*PUNICODE_STRING; Buffer为字符串指针,Length成员表示字符串的当前长度,MaximumLength成员表示该字符串允许的最大长度。这样的设计虽然占用空间,但是保证了字符操作的安全性。请注意,在Buffer成员不一定以0结尾,这一点在文件系统的缓冲路径中尤其明显。PUNICODE_STRING reg_path表示该驱动的注册路径,详情大家可以自行查询。,网络空间安全技术实践教程,13,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 (2)新建makefile文件 下面我们在DriverEntry.c的同一目录下新建makefile文件,内容为: !INCLUDE $(NTMAKEENV)makefile.def 保存即可。,网络空间安全技术实践教程,14,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 (3)新建sources文件 在同一目录下创建sources文件,内容为: TARGETNAME=HELLOWORLD TARGETTYPE=DRIVER SOURCES=DriverEntry.c TARGETNAME代表你输出的驱动名称,TARGETTYPE代表目标文件输出类型,SOURCES代表要编译的文件。如果有多个文件需要编译,请使用 依次表示,如: TARGETNAME=HELLOWORLD TARGETTYPE=DRIVER SOURCES=DriverEntry.c Foo.c Bar.c,网络空间安全技术实践教程,15,11.1 WDK的安装调试,实验步骤: 2)第一个驱动程序的编译 (4)编译驱动文件 编译程序时,首先要确定以上三个文件在同一路径中,如图11-1-4所示。选择WDK菜单目录中的Win7 x64 Checked Build Environment程序,如图11-1-5所示。需要注意的是,这里不要选择Free Build Environment,因为Free版驱动会抹去DbgPrint之类的调试输出语句。 通过cd命令将当前的目录转为我们自己的工程目录中,输入BLD命令(如图11-1-6所示),即可编译驱动,驱动编译成功,得到最终的驱动文件HELLOWORLD.SYS。,网络空间安全技术实践教程,16,11.1 WDK的安装调试,实验步骤: 3)驱动的安装以及观察调试信息 先从网上下载DriverMonitor工具(或者是同类软件)及DbgView工具。前者负责加载、卸载驱动,后者用来观察调试信息。我们的驱动适用于64位Windows 7系统,并且强烈建议您在虚拟机中安装64位Windows 7下进行测试,因为驱动程序一旦出错,不像应用程序编程一样只会弹一个错误对话框,绝大部分情况下会直接蓝屏。,网络空间安全技术实践教程,17,11.1 WDK的安装调试,实验步骤: 3)驱动的安装以及观察调试信息 (1)系统中导入注册表文件(reg) 为了使得DbgView可以查看调试信息,我们先要导入一个reg文件,文件内容如下: Windows Registry Editor Version 5.00 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerDebug Print Filter “DEFAULT“=dword:0000000f 导入成功后,重新启动电脑。,网络空间安全技术实践教程,18,11.1 WDK的安装调试,实验步骤: 3)驱动的安装以及观察调试信息 (2)安装配置DbgView 安装完成DbgView工具后,打开DbgView,确保DbgView工具打开Capture Kernel(监视核心),如下图11-1-7所示。,网络空间安全技术实践教程,19,11.1 WDK的安装调试,实验步骤: 3)驱动的安装以及观察调试信息 (3)安装配置SignDrv工具并对驱动签名 在64位操作系统下,驱动程序的加载需要签名,所以我们这里使用SignDrv工具对我们的驱动程序进行本地签名(此签名只对本机系统有效,用作本地开发调试所用),使之我们的驱动能被系统加载。 在管理员权限下打开此工具,如图11-1-8所示。一路next,先选择Enable Test Mode,选择Next,重新启动电脑。如果计算机右下角发现了水印,则说明系统已进入测试模式(可以加载驱动)。再打开此工具,选择Sign a System File,选择我们自己的驱动程序加载签名。,网络空间安全技术实践教程,20,11.1 WDK的安装调试,实验步骤: 3)驱动的安装以及观察调试信息 (4)安装配置DriverMonitor工具并启动、卸载驱动程

注意事项

本文((网络空间安全技术实践)11.1wdk的安装调试)为本站会员(繁星)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.