源码分享平台
商业资源聚集

郁金香驱动编程+驱动逆向+驱动保护教程

一、基础篇–简单驱动模型
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和RegistryPath
B、书写SOURCES文件
C、书写makefile文件
D、用DDK-Build环境编译
1.3.2为DDK_HelloWorld添加卸载例程-10课
A、输出调试信息-KdPrint
B、认识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_OBJECT
C、重要数据结构设备对象DEVICE_OBJECT
D、添加创建设备的例程
E、用工具查看驱动及驱动设备
1.3.5VM+windbg安装 13课
A、安装VM虚拟机
B、在VM里安装操作系统
C、安装windbg
D、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、初识IRP
B、一个简单的IRP处理函数
C、IRP.IoStatus结构
D、IoCompleteRequest函数
1.4 编写自己的驱动过游戏保护(以11课分析为例)
1.4.1需要具备的理论知识-17课
A、了解SSDT结构
B、由SSDT索引号获取当前函数地址
C、如何获取索引号
D、获取起源地址-判断SSDT是否被HOOK
E、如何向内核地址写入自己代码
1.4.2读出SSDT表当前函数地址-18课
A、引用KeServiceDescriptorTable表
B、通过ServiceTableBase+偏移读出当前函数地址
C、用windbg测试读取的值
1.4.3读出原函数地址-19课
A、集成上一课代码至GetNt_CurAddr函数
B、MmGetSystemRoutineAddress
C、书写GetNt_OldAddr函数
D、测试结果
1.4.4JMP地址转换公式推导-20课
A、JMP地址转换公式推导
B、计算实际地址函数RealJmp_Addr
C、测试
1.5绕过SSDT驱动保护-21课
A、去掉页面保护
B、写入In Line HOOK代码
C、用OD附加测试效果
D、反HOOK代码
1.6 NT式驱动的安装-22课
A、OpenSCManager
B、CreateService
C、OpenService
D、StartService
E、CloseServiceHandle
F、集成到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 #endif
2.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.A.1驱动下的异常处理-37课
A、返回状态值
B、检查内存的可用性
C、异常处理try-except
D、异常处理try-finally
E、断言
2.A.2内核模式下的字串操作-38课
A、ASCII字符串和UNICODE字符串
B、ANSI_STRING字符串和UNICODE_STRING字符串
C、字符串的初始化与销毁
D、字符串复制,比较,(大小写,整数和字串)相互转换
E、ANSI_STRING字符串和UNICODE_STRING字符串相互转换
2.A.3内核模式下的文件操作-39课
A、文件的创建
B、文件的打开
C、获取和修改文件属性
D、写文件和读文件
三、进阶篇(进程保护,RootKit)
3.1应用层勾子
3.1.1 IAT表-40课
A、初识IAT
B、IAT表相关结构
C、读出IAT项
D、编写代码测试分析
E、HOOK IAT
F、测试分析
3.1.2 应用层勾子InLine HOOK-41课
A、InLine HOOK 原理分析
B、InLine HOOK 代码编写
C、InLine HOOK 代码测试
3.2内核勾子
3.2.2 Shadow SSDT-42课
A、Shadow SSDT表基址
B、Shadow SSDT表结构
C、Shadow SSDT HOOK
3.2.3 绕过所有用户层HOOK-43课
A、分析API函数原理
B、自写API函数
C、SYSENTER指令
D、硬编码_emit
E、模拟FindWindow函数
3.2.4 驱动InLine HOOK实例-44课
A、分析等HOOK函数参数
B、选取HOOK地址
C、构建HOOK 代码
D、实现HOOK
E、测试效果
3.2.5 认识 IDT表-45课
A、反断点的一些原理
B、认识IDT表
C、IDT表相关结构
D、读出IDT表-sidt指令
E、测试
3.2.6 IDT HOOK-46课
A、实例演示
B、替换IDT处理函数
D、IDT HOOK 代码书写
D、测试效果
四、高级篇–驱动逆向(实例分析)
4.1 XX游戏驱动保护分析(实例A)
4.1.1、XX游戏驱动保护分析(实例A)-47课
A、保护情况分析
B、猜测相关原理
C、过保护让CE能查找到数据的相关分析
D、过保护让CE能修改数据的相关分析
4.1.2 、XX游戏过保护分析(实例B)-48课
A、分析游戏进程保护
B、分析游戏数据读取保护
C、分析游戏数据写入保护
4.2、 XX游戏驱动保护代码书写
4.2.1 XX游戏驱动保护代码书写-49课
A、定位特征码函数FindCode_Address构建
B、定位NtOpenThread
C、定位NtOpenProcess
D、定位NtReadVirtualMemory
E、定位NtWriteVirtualMemory
F、CALL与JMP指令的区别
G、构建相应的替换函数
4.2.2 XX游戏驱动保护代码书写-50课
A、恢复NtOpenThread
B、恢复NtOpenProcess函数
C、恢复NtReadVirtualMemory 让CE可读
D、恢复NtWriteVirtualMemory让CE可写
E、Ret指令详解
F、Hook代码编写并测试
五、附加课程(不会实时更新)
5.1 过XX游戏保护实例
A、1394hub保护(游戏A)
B、necheck保护(游戏B)

20150711094616

下载地址:

温馨提示:下载地址已隐藏须成功“回复本文”后“刷新本页”方可查看!
评论规则:评论字数必须在10个字以上/不可使用纯英文/不可复制站内评论,否则会被判定灌水自动删除。

赞(7) 打赏
未经允许不得转载:爱每天分享 » 郁金香驱动编程+驱动逆向+驱动保护教程
分享到: 更多 (0)

相关推荐>>

发 表 评 论 Comment - 总数: 31

评论前必须登录!

 

  1. #1

    太强了!

    jack4年前 (2015-08-10) 来自天朝的朋友 谷歌浏览器 Windows 7
  2. #2

    撒大师

    doudou7394年前 (2015-08-15) 来自天朝的朋友 谷歌浏览器 Windows 7
  3. #3

    感恩感謝大大大大大大大

    s406974年前 (2015-09-04) Taiwan; Republic of China (ROC) 谷歌浏览器 Windows 7
  4. #4

    隧道股份为阿萨德好好好

    2314年前 (2015-10-22) 来自天朝的朋友 谷歌浏览器 Windows 7
  5. #5

    感恩感謝大大大大大大大

    ihack4年前 (2015-12-29) 来自天朝的朋友 谷歌浏览器 Windows 8.1
  6. #6

    啊啊啊啊啊啊啊啊啊啊

    呜呜呜呜3年前 (2016-05-23) 来自天朝的朋友 谷歌浏览器 Windows 7
  7. #7

    很好的的 哦才能处理下就开始咯今年打开

    xiazai12343年前 (2016-10-07) 未知系统 谷歌浏览器 Windows 8.1
  8. #8

    哦才能处理下就开始咯今年打开
    xiazai12344个月前 (10-07)

    shangxinlei883年前 (2017-02-18) 未知系统 谷歌浏览器 Windows 10
  9. #9

    感谢大佬分享 正好缺这个东西

    chunan9个月前 (12-14) 来自天朝的朋友 QQ浏览器 Windows 10
  10. #10

    感恩感謝大大大大大大大

    29678370049个月前 (01-06) 来自天朝的朋友 谷歌浏览器 Windows 10
  11. #11

    郁金香大大答大大大的大大大大大

    benen8个月前 (01-22) 来自天朝的朋友 谷歌浏览器 Windows 10
  12. #12

    感谢大佬分享 正好缺这个东西

    转载请注明来源

    3603768098个月前 (01-24) 来自天朝的朋友 谷歌浏览器 Windows 7
  13. #13

    感恩感謝大大大大大大

    w163873697个月前 (02-21) 来自天朝的朋友 谷歌浏览器 Windows 7
  14. #14

    太强大了 谢谢拉额

    wayjxlsadm7个月前 (03-03) 来自天朝的朋友 谷歌浏览器 Windows 7
  15. #15

    感恩感謝 流弊 利弊

    872211496个月前 (03-27) 来自天朝的朋友 谷歌浏览器 Windows 7
  16. #16

    签个到强大取得的无人机大姐二姐解决掉

    app20205个月前 (04-16) 来自天朝的朋友 谷歌浏览器 Windows 7
  17. #17

    谢谢啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

    zrss015个月前 (04-17) 来自天朝的朋友 谷歌浏览器 Windows 7
  18. #18

    dadada台感谢了xiongdi

    xiaoming121384445个月前 (05-03) 来自天朝的朋友 谷歌浏览器 Windows 7
  19. #19

    哦才能处理下就开始咯今年打开

    a8405035125个月前 (05-09) 来自天朝的朋友 谷歌浏览器 Windows 10
  20. #20

    我来学习一下,一之在找相关的教程,终于找到了

    laomo5个月前 (05-09) 来自天朝的朋友 火狐浏览器 Windows 10
  21. #21

    哦哦哦哦哦哦多谢大佬分享谢谢谢谢

    11231934234个月前 (05-12) 来自天朝的朋友 QQ浏览器 Windows 10
  22. #22

    学习使我快乐,还要不断的学习,学习学习

    xuexihaiyaobuduan4个月前 (05-14) 来自天朝的朋友 谷歌浏览器 Windows 10
  23. #23

    我就想知道暗示法南沙放老和尚你发发

    mapleasto14个月前 (05-24) 来自天朝的朋友 谷歌浏览器 Windows 7
  24. #24

    游戏驱动保护代码书写-50课

    657453个月前 (06-10) 来自天朝的朋友 QQ浏览器 Windows 7
  25. #25

    不对啊,怎么提交评论了还是没有啊

    err0i3个月前 (06-11) 来自天朝的朋友 谷歌浏览器 Mac OS X 10_12_6
  26. #26

    非常感谢,非常需要这些东西教程找了好纠结老啊

    kevinlowell2个月前 (07-09) 来自天朝的朋友 谷歌浏览器 Windows 10
  27. #27

    隧道股份为阿萨德好好好

    assad2个月前 (07-16) 来自天朝的朋友 谷歌浏览器 Windows 7
  28. #28

    好东西,值得收藏,就是东西太多,学起来比较费力

    chitar2个月前 (07-17) 来自天朝的朋友 谷歌浏览器 Windows 10
  29. #29

    感恩感謝大大大大大大大

    garin2个月前 (07-21) 来自天朝的朋友 谷歌浏览器 Windows 10
  30. #30

    感谢大佬,目前正好准备学习

    lqw4232个月前 (07-22) 来自天朝的朋友 Safari浏览器 iPhone iPhone OS 9_3_2 like Mac OS X) AppleWebKit

客户端下载

Android下载苹果IOS下载

觉得有用就打赏一下文章作者(打赏66元以上送一款资源)

支付宝扫一扫打赏

微信扫一扫打赏