联系客服1
联系客服2

郁金香驱动编程第三季,全套视频教程学习资料通过百度云网盘下载

0
回复
920
查看
打印 上一主题 下一主题
[复制链接]
  • TA的每日心情
    开心
    2024-9-19 21:14
  • 签到天数: 757 天

    [LV.10]以坛为家III

    7335

    主题

    8751

    帖子

    131万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    1312677
    楼主
    发表于 2021-4-16 04:16:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    资源详情


    一、基础篇--简单驱动模型
    1.1DDK及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.1VC6环境编译驱动-6课
        A、VC6驱动编译配置
        B、VC6集成环境下编译驱动
    1.2.2VS2003环境编译驱动-7课
        A、VC7驱动编译配置
        B、VC7集成环境下编译驱动
    1.2.3VS2008环境编译驱动-8课
        A、VC9驱动编译配置
        B、VC9集成环境下编译驱动
    1.3NT式驱动
    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.4.5绕过SSDT驱动保护-21课
        A、去掉页面保护
        B、写入InLineHOOK代码
        C、用OD附加测试效果
        D、反HOOK代码  
    1.6NT式驱动的安装-22课
        A、OpenSCManager
        B、CreateService
        C、OpenService
        D、StartService
        E、CloseServiceHandle
        F、集成到loadNTDriver函数
    1.7NT式驱动的卸载-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++ProjectOption
    B、链接选项LinkProjectOption
    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、再谈SSDTHOOK驱动保护原理-31课
    A、初识内核进程相关结构
    B、内核函数PsGetCurrentProcess
    C、进程保护原理
    D、实例测试
    2.6、自写驱动保护XX进程-32课
    A、HOOKSSDT
    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.3IRP和派遣函数
    IRP和IRP类型
    对IRP函数的处理
    编写通用的IRP派遣函数
    跟踪IRP的利器IRPTrace
    三、进阶篇(进程保护,RootKit)
    3.1应用层勾子
    IATHOOK
    InLineHOOK
    3.2内核勾子
    3.2.2ShadowSSDT  
    3.2.3InLineHOOK
    3.2.3objectHOOK  
    3.2.4IDT中断描述符表
    3.2.5IDTHOOK
    四、高级篇--驱动逆向
    4.1单机调试驱动windbg+vmware
      4.1.1游戏反取色分析
      4.1.2游戏进程隐藏分析
      4.1.3游戏进程保护分析
    4.2实战游戏驱动保护分析
      4.2.1再谈过保护原理
      4.2.2XX游戏XX驱动分析
      4.2.3XX游戏XX驱动分析




    游客,如果您要查看本帖隐藏内容请回复
    收藏
    收藏0
    分享
    分享
    支持
    支持0
    反对
    反对0
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    学习课程!一站搞定!
    学途无忧VIP会员群

    973849140

    周一至周日9:00-23:00

    反馈建议

    1227072433@qq.com 在线QQ咨询

    扫描二维码关注我们

    学途无忧!为学习谋坦途,为会员谋福利!|网站地图