郁金香驱动编程第三季郁金香驱动编程第三季

郁金香驱动编程第三季郁金香驱动编程第三季

资源下载
仅限VIP下载,请先
犹豫不决让我们错失一次又一次机会!!!

郁金香驱动编程第三季郁金香驱动编程第三季

资源详情

郁金香驱动编程第三季一、基础篇–简单驱动模型1.1 ddk及vc6.0/7.0/9.0的安装 1.1.1 安装vc++6.0 -1课 1.1.2 安装vs2003-vc++7.0-2课 1.1.2 安装vs2008-vc++9.0-3课 1.1.3 安装vc助手-4课 1.1.5 安装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_helloworld简单的驱动-9课a、vc6集成环境下书写代码驱动入口函数driverentry入口函数参数driverobject和registrypathb、书写sources文件c、书写makefile文件d、用ddk-build环境编译1.3.2为ddk_helloworld添加卸载例程-10课a、输出调试信息-kdprintb、认识pdriver_object结构c、注册驱动卸载例程d、卸载例程回调函数构建e、查看驱动调试信息 1.3.3 用工具过驱动保护(确定学习方向)-11课a、用户层至内核的隐秘通道b、浅谈过保护原理c、实战过xx游戏驱动保护.让od.ce正常附加调试d、小结 1.3.4为ddk_helloworld添加设备例程-12课a、相关内核api介绍b、重要数据结构驱动对象driver_objectc、重要数据结构设备对象device_objectd、添加创建设备的例程e、用工具查看驱动及驱动设备 1.3.5vm+windbg安装 13课a、安装vm虚拟机b、在vm里安装操作系统c、安装windbgd、windbg和vm的相关配置e、启用windbg双机调试 1.3.6实战用windbg调试自己驱动ddk_helloworld -14课a、用户层调试和内核调试区别b、如何下断跟踪c、f10步过和f11步进d、查看寄存器相关信息e、源代码调试与机器码调试 1.3.7ddk_helloworld卸载例程细化-15课 a、再看device_object结构b、删除符号链接c、删除设备d、测试卸载例程 1.3.8为ddk_helloworld添加默认派遣例程-16课a、初识irpb、一个简单的irp处理函数c、irp.iostatus结构d、iocompleterequest函数1.4 编写自己的驱动过游戏保护(以11课分析为例) 1.4.1需要具备的理论知识-17课a、了解ssdt结构b、由ssdt索引号获取当前函数地址c、如何获取索引号d、获取起源地址-判断ssdt是否被hooke、如何向内核地址写入自己代码1.4.2读出ssdt表当前函数地址-18课a、引用keservicedescriptortable表b、通过servicetablebase+偏移读出当前函数地址c、用windbg测试读取的值 1.4.3读出原函数地址-19课a、集成上一课代码至getnt_curaddr函数b、mmgetsystemroutineaddressc、书写getnt_oldaddr函数d、测试结果 1.4.4jmp地址转换公式推导-20课 a、jmp地址转换公式推导 b、计算实际地址函数realjmp_addr c、测试 1.4.5绕过ssdt驱动保护-21课 a、去掉页面保护 b、写入in line hook代码 c、用od附加测试效果 d、反hook代码1.6 nt式驱动的安装-22课a、openscmanagerb、createservicec、openserviced、startservicee、closeservicehandlef、集成到loadntdriver函数1.7 nt式驱动的卸载-23课 a、卸载驱动流程 b、内核函数deleteservice c、内核函数controlservice d、构建unloadsys函数 e、测试并查看调试信息1.8 驱动代码中c和c++代码区别-24课a、函数调用约定b、c和c++编译方式c、用c++方式编译驱动d、c代码升级至c++ e、优化21课的代码1.9、再谈vc环境配置-25课 a、编译选项c/c++ project option b、链接选项link project option c、测试所编译驱动二、中级篇2.1、手动加载nt式驱动(非工具)-26课 a、注册表 b、手动运行驱动 c、手动停止驱动2.2、应用程序与驱动交互访问(缓冲模式) 2.2.1、数据交换原理-27课a、用户层传入数据b、驱动层接收数据c、驱动层回传数据级用户层 2.2.2、实战exe和sys通信-28课 a、用户层传入数据exe部分代码 b、驱动层接收数据并处理sys部分代码 c、驱动层返回数据至用户层 d、用户层获得处理结果2.3、应用程序与驱动交互访问(直接模式)-29课 a、用户层传入数据exe部分代码 b、驱动层接收数据并处理sys部分代码 c、驱动层返回数据至用户层 d、用户层获得处理结果 e、预编译指令#pragma #ifndef #endif2.4、应用程序与驱动交互访问(其它模式)-30课 a、用户层传入数据exe部分代码 b、驱动层接收数据并处理sys部分代码 c、驱动层返回数据至用户层 d、用户层获得处理结果 e、驱动中的异常处理2.5、再谈ssdt hook驱动保护原理-31课 a、初识内核进程相关结构 b、内核函数psgetcurrentprocess c、进程保护原理 d、实例测试2.6、自写驱动保护xx进程-32课 a、hook ssdt b、构建自己的内核函数 c、构建hook和unhook函数 d、修改exe和sys对应源代码(实现所谓保护) e、测试效果 2.7、驱动中的内存管理-33课 a、 物理内存 b、 虚拟内存 c、 ring0地址和ring3地址 d、 驱动程序和进程的关系 e、 分页和非分页内存 f、 分配内核内存2.8、内存管理相关内核api-34课 a、rtlcopymemory.rtlcopybytes和rtlmovememory c、rtlzeromemory和rtlfillmemory d、rtlequalmemory e、exallocatepool和 exfreepool f、重载new和delete操作符2.9.1在认识链表结构exe部分-35课 a、链表结构 b、链表的初始化 c、在链表中插入数据(结点) d、链表的遍历2.9.2在驱动中使用链表sys部分-36课 a、链表结构 b、链表的初始化 c、在链表中插入数据(结点) d、链表数据的删除 e、链表的遍历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 hook inline hook3.2内核勾子3.2.2 shadow ssdt3.2.3 inline hook 3.2.3 object hook3.2.4 idt中断描述符表3.2.5 idt hook 四、高级篇–驱动逆向4.1单机调试驱动windbg+vmware 4.1.1游戏反取色分析 4.1.2游戏进程隐藏分析 4.1.3游戏进程保护分析4.2实战游戏驱动保护分析 4.2.1 再谈过保护原理 4.2.2 xx游戏xx 驱动分析 4.2.3 xx游戏xx 驱动分析

郁金香驱动编程第三季

资源下载
下载价格VIP专享
仅限VIP下载升级VIP
犹豫不决让我们错失一次又一次机会!!!
原文链接:https://1111down.com/195118.html,转载请注明出处

本站开启缓存功能

登入后回任何页面即可登入成功,当前页不显示

没有账号?注册  忘记密码?

社交账号快速登录