电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

40页
  • 卖家[上传人]:繁星
  • 文档编号:88146729
  • 上传时间:2019-04-20
  • 文档格式:PPTX
  • 文档大小:1.65MB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、网络空间安全技术实践教程,吕秋云,王小军,胡耿然,汪云路,王秋华 西安电子科技大学出版社,第三篇 网络安全理论与技术实验篇,第十一章 操作系统安全编程实验 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空间的访问操作进行检查,如果运行的代码不能通过操作系统的某种门机

      2、制,就不能进入内核模式;这种模式对应于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? 为了不让程序任意存取

      3、资源,大部分的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位操作系统

      4、) 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的安装调试,实

      5、验步骤: 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是时DRI

      6、VER_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 ,*P

      7、UNICODE_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代表你输

      8、出的驱动名称,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)驱动的安装以及观察调试信息 先从

      9、网上下载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的安装调试》由会员繁星分享,可在线阅读,更多相关《(网络空间安全技术实践)11.1wdk的安装调试》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.