易语言吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8264|回复: 7

[其它教程] 郁金香驱动编程+驱动逆向+驱动保护视频教程

[复制链接]

295

主题

537

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
14490

幽默大师终生成就

威望
0
易币
13868
贡献
0
积分
14490
UID
580
在线时间
464 小时
注册时间
2019-12-5
发表于 2021-1-16 20:19:39 | 显示全部楼层 |阅读模式

教程名字:郁金香驱动编程+驱动逆向+驱动保护视频教程

教程目录:

一、基础篇--简单驱动模型
1.1 DDKVC6.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 驱动代码中CC++代码区别-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)


教程下载:
提取码:ejt4


360网盘下载:
https://yunpan.360.cn/surl_ySEz5x7dIvv (提取码:3d95)
     

0

主题

8

帖子

89

积分

易语言菜鸟

Rank: 2

积分
89
威望
0
易币
81
贡献
0
积分
89
UID
13116
在线时间
11 小时
注册时间
2021-3-8
发表于 2021-3-9 22:56:14 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
回复

使用道具 举报

0

主题

2339

帖子

9564

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
9564
威望
198
易币
6829
贡献
0
积分
9564
UID
11903
在线时间
36 小时
注册时间
2021-1-23
发表于 2021-5-29 07:00:27 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
回复

使用道具 举报

0

主题

15

帖子

67

积分

易语言菜鸟

Rank: 2

积分
67
威望
0
易币
52
贡献
0
积分
67
UID
18519
在线时间
6 小时
注册时间
2021-9-15
发表于 2021-10-4 09:17:09 | 显示全部楼层

论坛不能没有像楼主这样的人才啊!我会一直支持易语言吧
回复

使用道具 举报

0

主题

27

帖子

90

积分

易语言菜鸟

Rank: 2

积分
90
威望
0
易币
63
贡献
0
积分
90
UID
21752
在线时间
7 小时
注册时间
2022-1-1
发表于 2022-1-6 23:36:01 | 显示全部楼层
感谢分享,辛苦啦!
回复

使用道具 举报

0

主题

20

帖子

31

积分

初识易语言

Rank: 1

积分
31
威望
0
易币
11
贡献
0
积分
31
UID
23814
在线时间
4 小时
注册时间
2022-3-9
发表于 2022-5-30 01:11:09 | 显示全部楼层


楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
回复

使用道具 举报

0

主题

14

帖子

14

积分

初识易语言

Rank: 1

积分
14
威望
0
易币
0
贡献
0
积分
14
UID
29483
在线时间
0 小时
注册时间
2022-8-24
发表于 2022-8-24 16:51:21 | 显示全部楼层
感谢分享,辛苦啦!
回复

使用道具 举报

0

主题

18

帖子

56

积分

易语言菜鸟

Rank: 2

积分
56
威望
0
易币
38
贡献
0
积分
56
UID
41862
在线时间
0 小时
注册时间
2024-4-8
发表于 2024-4-8 02:07:54 | 显示全部楼层
双方所发生的嘎嘎嘎深V
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【选择右侧内容,快速回复】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大漠插件注册码无须等1-3号

QQ|一:站内所有资源均来自互联网收集或用户上传分享,本站不拥有此类资源的版权。 作为网络服务提供者,对转载行为的发生不具备充分的监控能力。但是当版权拥有者提出侵权并出示充分的版权证明材料时,易语言吧负有移除转载作品以及停止继续传播的义务。在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任,包括不承担因侵权不成立而给原发布人带来损害的赔偿责任。 用户免费分享产生,如果侵犯了你的权益,联系QQ:3066137757|Archiver|手机版|小黑屋|易语言吧

GMT+8, 2024-11-23 23:15 , Processed in 0.247411 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表