为添加设备例程-密驱动编程保护_第1页
为添加设备例程-密驱动编程保护_第2页
为添加设备例程-密驱动编程保护_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、预计平均三天一课,录制过程中,大纲会实时更新(更改)主讲:郁金香灬老师开发环境:VC6,VS2003,VS2008试看地址驱动保护/001-VC+6.0和MSDN6.0安装.rar/002-VS2003安装.rar驱动保护驱动保护/003-VS2008安装.rar驱动保护/004-VC助手安装.rar驱动保护/005-DDK安装.rar驱动保护/006VC6环境下编译驱动.rar/007VS2003环境下编译驱动.rar驱动保护驱动保护/008VS2008环境下编译驱动.rar驱动保护/009DDKoWorld驱动.rar/010添加卸载驱动例程.rar驱动保护一、基础篇-简单驱动模型1.1

2、DDK及VC6.0/7.0/9.0的安装1.1.11.1.21.1.21.1.31.1.5安装VC+6.0 -1课安装VS2003-VC+7.0-2课安装VS2008-VC+9.0-3课安装VC助手-4课安装DDK-5课1.2 驱动开发VC环境安装配置1.2.1 VC6环境编译驱动-6课 A、VC6驱动编译配置B、VC6集成环境下编译驱动1.2.2 VS2003环境编译驱动-7课A、VC7驱动编译配置B、VC7集成环境下编译驱动1.2.3 VS2008环境编译驱动-8课 A、VC9驱动编译配置B、VC9集成环境下编译驱动1.3 NT式驱动1.3.1 编写一个名为DDK_oWorld简单的驱动-

3、9课A、VC6集成环境下书写代码驱动函数DriverEntry函数参数DriverObject和RegistryPathB、书写SOUR文件C、书写makefile文件D、用DDK-Build环境编译1.3.2为DDK_oWorld添加卸载例程-10课A、输出调试信息-KdPrB、认识PDRIVER_OBJECT结构C、驱动卸载例程D、卸载例程回调函数构建E、查看驱动调试信息1.3.3 用工具过驱动保护(确定学习方向)-11课A、用户层至内核的隐秘通道B、浅谈过保护原理C、实战过XX驱动保护,让OD,CE正常附加调试D、小结1.3.4为DDK_oWorld添加设备例程-12课A、VS2003下

4、编译驱动BUG修正B、重要数据结构驱动对象DRIVER_OBJECT C、重要数据结构设备对象DEVICE_OBJECT D、添加创建设备的例程E、添加mini_ddk.h1.3.5为DDK_oWorld添加默认派遣例程-13课1.3.6规范化驱动编程及特殊代码A、内存分页标记和INIT页特点 PAGE分页特点页特点页标记B、预编译指令#pragmaC、IN,OUT宏D、封装常用结构至头文件1.4 NT式驱动的安装1.4.1 VC6下编译DDK_修改编译选项oWorld修改选项修改其它参数1.4.2、驱动的安装1.5 、WDM式驱动1.5.1 WDM驱动头文件1.5.2 WDM驱动函数1.5.

5、3 AddDevice例程及参数1.5.4 WDM驱动处理PNP回调函数1.5.5 WDM对PNP的默认处理1.5.6 WDM对IRP的处理 1.5.7WDM驱动的卸载例程1.6 WDM式驱动的编译和安装1.6.1 用DDK环境编译安装1.6.2 WDM的编译过程 1.6.3安装WDM驱动1.7 从用户层的HOOK说起1.7.1 ring3级的进程保护17.2 ring3级的进程隐藏1.8 用户层到内核的通道1.9 驱动代码中C和C+代码区别函数调用约定C和C+编译方式1.10 驱动编译方式详解1.10.1-DDK编译环境下的BuildFree和Checked build工具makefile文

6、件sour文件build工具环境变量build工具令行参数1.10.2-VC集成环境下编译参数设置编译选项C/C+ Project Option选项Link Project Option1.10.3 编译小结二、中级篇2.1 用DbgView 查看驱动调试信息打印调试信息查看调试信息2.2 手动加载NT式驱动-(非工具)2.3 编写程序加载NT式驱动加载NT式驱动代码编写卸载NT式驱动代码编写测试2.4 驱动程序中的重要数据结构 DRIVER_OBJECT DEVICE_OBJECT2.5 NT式驱动的基本结构驱动加载过程驱动函数驱动卸载例程用WindObj观察驱动用DeviceTree2.6

7、驱动中的内存管理物理内存驱动虚拟内存Ring0地址和Ring3地址驱动程序和进程的关系分页和页内存分配内核内存重载new和delete操作符2.7在驱动中使用链表链表结构链表初始化从首部从尾部链表链表从链表中删除2.8 其它数据类型 返回状态值检查内存的可用性异常处理try-except异常处理try-finally断言2.9 内核函数2.9.1 内核模式下的字串操作ASCII字符串和UNICODE字符串ANSI_STRING字符串和UNICODE_STRING字符串字符串的初始化与销毁字符串字符串比较字符串转化成大写字符串与整型数字相互转换ANSI_STRING字符串和UNICODE_STRING字符串相互转换2.9.2 内核模式下的文件操作文件的创建文件的打开获取和修改文件属性写文件和读文件2.9.3 IRP和派遣函数 IRP和IRP类型对IRP函数的处理编写通用的IRP派遣函数IRP的利器IRPTrace三、进阶篇(进程保护,RootKit) 3.1应用层IAT HOOKInLine HOOK 3.2内核3.2.1 SSDT HOOK修改SSDT内存保护机制勾住 SSDT3.2.2 Shadow SSDT3.2.3 InLine HOOK3.2.3 object HOOK3.2.4 IDT中断描述符表3.2.5 IDT HOOK3.2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论