教程名称:若水软件论坛过游戏驱动保护视频教程[过TP]

教程目录:

初级篇
1、VS2003/2008/VC6.0编译驱动
A、VS2003驱动编译环境配置
B、VS2003集成环境下编译一个简单的驱动
2、创建一个卸载例程
A、认识PDRIVER_OBJECT结构
B、卸载例程回调函数构建
C、查看卸载例程调试信息
3、添加设备例程
A、认识驱动对象DRIVER_OBJECT
B、认识设备对象DEVICE_OBJECT
C、添加创建设备的例程
D、用工具查看驱动及驱动设备
4、添加删除设备例程
A、删除符号链接
B、删除设备
C、测试卸载例程
5、创建一个派遣函数例程?
A、什么是IRP
B、一个简单的IRP处理函数
C、利用IRP派遣函数实现驱动程序与应用程序之间的通信
6、双机调试设置
A、普通设置
B、工具协助配置
7、手动加载NT式驱动
?A、进入加载驱动的注册表
B、手动运行驱动
C、手动停止驱动
D、自动启动驱动
中级篇
8、NT式驱动的安装
A、OpenSCManager
B、CreateService
C、OpenService
D、StartService
E、CloseServiceHandle
9、NT式驱动的卸载
A、卸载驱动流程
B、DeleteService
C、ControlService
D、构建UnLoadSys函数
E、虚拟机测试
10、驱动中的内存管理
A、 物理内存
B、 虚拟内存
C、 Ring0地址和Ring3地址
D、 分页和非分页内存
11、内存操作相关内核API
A、RtlCopyMemory、RtlCopyBytes、RtlMoveMemory
C、RtlZeroMemory、RtlFillMemory
D、RtlEqualMemory
E、ExAllocatePool和 ExFreePool
F、重载new和delete操作符
12、认识链表结构(exe)
A、链表结构
B、链表的初始化
C、在链表中插入数据
D、链表的遍历
13、在驱动中使用链表(sys)
A、链表的初始化
B、在链表中插入数据(结点)
C、链表的遍历
D、虚拟机测试
14、驱动下的异常处理
A、异常处理try-except
B、断言
进阶篇
15、驱动过游戏保护基础知识点
A、了解SSDT结构
B、由SSDT索引号获取当前函数地址(16节课主讲)???????
C、获取起源地址(17节课主讲)
D、怎么向内核地址写入自己代码
16、读出SSDT表当前函数地址
A、引用KeServiceDescriptorTable表
B、通过ServiceTableBase+偏移读出当前函数地址
C、测试读取的值
17、读出SSDT表原函数地址?
A、MmGetSystemRoutineAddress
B、书写GetOriginAddr函数
C、虚拟机测试
18、向指定地址写入代码(绕过NtOpenprocess的HOOK—前5字节)
A、JMP地址转换
B、去掉恢复页面保护
C、写代码绕过保护
19、自写驱动保护
A、构建自己的内核函数 MyOpenProcess
C、Hook和UnHook函数的构建
D、修改EXE和SYS代码实现保护
E、测试效果
20、字符串操作
A、ASCII字符串和UNICODE字符串
B、ANSI_STRING字符串和UNICODE_STRING字符串
C、字符串的初始化与销毁
D、字符串复制,比较,大小写/整数/字串相互转换
E、ANSI_STRING字符串和UNICODE_STRING字符串相互转换
21、文件操作
A、文件的创建
B、文件的打开
C、获取和修改文件属性
D、写文件和读文件
22、IAT HOOK编程
A、初识IAT
B、IAT表相关结构
C、读出IAT项
D、编写代码测试分析??
E、HOOK IAT
F、测试分析
23、应用层InLine HOOK
A、InLine HOOK 原理分析
B、InLine HOOK 代码编写
C、InLine HOOK 代码测试
24、Shadow SSDT HOOK
A、Shadow SSDT表基址定位
B、Shadow SSDT表结构
C、Shadow SSDT HOOK
25、对用户层API函数进行保护(OD无法下断)
A、分析API函数原理
B、自写API函数
C、SYSENTER指令
D、硬编码_emit
E、模拟FindWindow函数?
26、IDT HOOK反中断调试
A、实例演示
B、替换IDT处理函数
D、IDT HOOK代码书写
E、测试效果
高级篇
27、地下城与勇士保护分析
A、定位特征码函数FindCode_Address构建
B、定位NtOpenThread
C、定位NtOpenProcess
D、定位NtReadVirtualMemory
E、定位NtWriteVirtualMemory
F、CALL与JMP指令的区别
G、构建相应的替换函数
28、地下城与勇士保护分析
29、地下城与勇士保护分析-debugport清零