课程简介
本套课程《游戏辅助技术课程》涵盖初级、中级和驱动三个阶段,助你全面掌握C语言游戏外挂开发。课程内容丰富,包括视频及各类资料,总容量高达30.66G。游戏辅助开发不仅要求精通编程语言,还需灵活运用于游戏开发环节。在保证游戏流畅运行的同时,为你带来极致的用户体验。本次更新分为游戏辅助技术初级班、中级班和驱动保护等,为你提供系统化的学习路径。现在加入,开启游戏辅助开发的探索之旅,成为游戏开发领域的佼佼者!
课程截图
课程截图
课程目录
课程阶段 | 课程名称/内容概述 |
---|
预习课 | – |
预习课 | 2021.06.05 – 如何利用驱动技术保护自己的游戏进程 |
预习课 | 2021.06.06 – 如何利用驱动技术突破游戏自带的驱动保护措施 |
预习课 | 2021.06.16 – Visual Studio 2017开发环境配置教程 |
预习课 | 2021.06.17 – C/C++编程代码练习 |
预习课 | 2021.06.18 – Cheat Engine初体验:搜寻内存练习第一步 |
预习课 | 2021.06.19 – Cheat Engine进阶:练习第二关任务 |
预习课 | 2021.06.20 – Cheat Engine实战:练习第三关任务 |
预习课 | 2021.06.21 – Cheat Engine高级技巧:分析游戏角色坐标基址偏移 |
预习课 | 2021.06.23 – x86与x64架构下的ASM汇编语言基础 |
预习课 | 2021.06.28 – 认识与了解Xdbg调试器的基本使用方法 |
预习课 | 2021.06.29 – 汇编指令中的异或(XOR)操作与二进制基础 |
预习课 | 2021.06.30 – 汇编指令在游戏加密与解密技术中的应用 |
请注意,以上列出的是预习课阶段的部分课程内容概要,主要是围绕游戏辅助技术的基础知识展开,涵盖了驱动技术的防护与突破、开发环境配置、C/C++编程实践、作弊引擎(Cheat Engine)的使用、汇编语言基础以及调试器的应用等多个方面。
游戏辅助技术(初级班)-课程目录
序号 | 课程名称/内容摘要 |
---|
001 | c/c++程序入口点简介 |
002 | c/c++函数和转义字符解析 |
003 | c/c++调用Windows系统API接口教程 |
004 | c/c++中的char, short, int, lpctstr与sizeof运算符详解 |
005 | 利用c/c++和Windows API操作游戏窗口 |
006 | c/c++利用Windows API获取进程PID方法 |
007 | c/c++读取目标进程内存数据实践 |
008 | c/c++中读取目标内存数据(4字节)实例 |
009 | Cheat Engine分析基址偏移——精确数值 |
010 | Cheat Engine分析基址偏移——未知初始值 |
011 | c/c++在32位和64位进程中读写多级基址偏移示例 |
012 | c/c++在32/64位进程中内存数据读写函数接口 |
013 | x86环境中使用汇编指令mov, sub, add演示 |
014 | x64环境下的MASM汇编.asm文件编写 |
015 | push/pop指令与栈的关系探讨 |
016 | call指令与ret指令对栈的影响分析 |
017 | x86环境下六种参数调用约定传递与栈平衡原理 |
018 | x64环境下常见的六种参数调用约定传递与栈平衡 |
019 | c/c++中的条件表达式、逻辑运算符与判断语句 |
020 | 汇编指令test, cmp, jmp, jz, jnz的运用 |
021 | c/c++中的循环语句与控制语句详解 |
022 | 汇编条件转移指令与循环结构的关联 |
023 | 使用c/c++配合代码注入器调用call指令 |
024 | c/c++跨进程调用call指令实现 |
025 | 创建一个简单的MFC程序并关联按钮单击事件 |
026 | MFC动态链接库(DLL)与注入技术 |
027 | 在目标进程中分配内存并写入代码实践 |
028 | 向目标进程注入代码并加载DLL模块 |
029 | 分析游戏角色对象属性的方法 |
030 | 编写c/c++代码读取游戏对象属性值 |
031 | c/c++中输入输出重定向技术 |
032 | c/c++定时器与主线程的交互使用 |
033 | 基址偏移分析的复习巩固 |
034 | 分析游戏角色信息的复习与实践 |
035 | 周末复习答疑汇总 |
036 | c/c++中简单认识MFC消息机制 |
037 | MFC框架下的编辑框控件CEdit类介绍 |
038 | 在游戏空间中加载DLL模块的实现 |
039 | 使用CE和x32dbg分析寻路call及认识float类型 |
040 | c/c++中浮点数与浮点数组在寻路call中的应用 |
041 | c/c++创建与管理多个线程 |
042 | c/c++中fs段与多线程TEB的关系 |
043 | 利用xdbg和CE分析寻路功能中的ecx参数与角色对象关联 |
044 | 为寻路功能编写完整的c/c++代码实现 |
045 | c/c++中数组与循环结构,以及汇编中数组访问方式 |
046 | 利用xdbg和CE分析游戏中力量、敏捷、耐力、智力、精神力等属性 |
047 | 用xdbg和CE分析游戏角色名字的基址偏移 |
048 | 编写代码读取游戏角色的力量、敏捷、智力、精神力和名字等属性 |
049 | 初级班主要知识点总结整理 |
050 | 初级班主要知识点总结整理(完结篇) |
游戏辅助技术(中级班)-课程目录
序号 | 课程名称/内容摘要 |
---|
001 | C++的类与对象概念讲解 |
002 | C++的基类与派生类详解 |
003 | 通过代码读取UTF8编码的名字 |
004-1 | 补充:使用CE和Xdbg分析对象名字 |
004 | 使用CE和Xdbg分析对象名字 |
005 | 虚函数指针与虚函数表的概念与使用 |
006 | 使用CE和Xdbg分析对象数组 |
007 | C/C++中链表结构与typedef、struct关键字 |
008 | 使用CE和Xdbg分析对象数组中的链表部分 |
009 | C/C++遍历游戏怪物数组的方法 |
010 | C/C++遍历游戏对象链表的实现 |
011 | C/C++中Xdbg条件断点设置与遍历代码修改 |
012 | 分析快捷栏数组与快捷栏使用的call指令 |
013 | C/C++编写测试快捷栏使用call的代码 |
014 | C/C++挂接到游戏主线程运行函数的方法 |
015 | C/C++测试遍历怪物列表的代码运行效果 |
016 | C/C++主线程代码传递复杂参数的实现方法 |
017 | 结构体(struct)在C/C++中用于主线返回多个数值 |
018 | 使用CE和Xdbg分析对象坐标的实践并编写测试代码 |
019 | 使用CE和Xdbg分析选中游戏对象功能并编写测试代码 |
020 | C/C++代码移植与选中对象功能测试实现 |
021 | C/C++遍历计算怪物距离的实现方法 |
022 | C/C++遍历计算最近怪物并选中的实现 |
023 | 使用CE和Xdbg分析技能call指令的执行过程 |
024 | C/C++编写调用测试技能call指令的代码 |
025 | C/C++中命名空间(namespace)的概念与使用 |
026 | C/C++中类静态成员的理解与应用 |
027 | 使用CE和Xdbg分析喊话(call)功能实现 |
028 | 为喊话call功能编写测试代码 |
029 | 使用CE和Xdbg分析明文封包、解密包、组包、发送包的过程 |
030 | C/C++编写物品使用组包并进行代码测试 |
031 | C/C++中模板的简单使用示例 |
032 | C/C++编写主线调用函数模板以方便快捷调用功能 |
033 | 使用CE和Xdbg分析背包对象数组 |
034 | 使用CE和Xdbg分析背包对象数量偏移 |
035 | 使用CE和Xdbg分析背包名字偏移与对象分类编号 |
036 | C/C++编写遍历背包并显示名字的代码 |
037 | 使用CE和Xdbg分析宏指令call的实现 |
038 | C/C++编写测试宏指令功能的代码 |
039 | 使用CE和Xdbg分析对象大分类编号(A部分) |
040 | 使用CE和Xdbg分析对象大分类编号(B部分) |
041 | C/C++遍历对象分类信息及优化遍历代码 |
042 | C/C++中MFC编辑框使用技巧示例 |
043 | C/C++中MFC多个窗口间切换及控件TabControl的使用(A部分) |
044 | C/C++中MFC多个窗口间切换及控件TabControl的使用(B部分) |
045 | C/C++项目改名与代码移植整理教程 |
046 | C/C++优化宏指令调用的方式与实践 |
047 | C/C++分析释放灵魂与天使复活功能的实现 |
048 | C/C++编写测试释放灵魂与复活功能的代码 |
049 | C/C++第二次修复和完善遍历代码的操作演示 |
050 | 使用CE和Xdbg分析装备耐久度(当前值与上限值) |
051 | 使用CE和Xdbg调试分析修理单个装备功能及修理所有装备 |
052 | C/C++编写遍历装备耐久度的代码 |
053 | 使用CE和Xdbg分析装备数组 |
054 | 编写遍历装备数组的C/C++代码 |
055 | 使用CE和Xdbg调试分析接任务、交任务、完成任务的过程 |
056 | C/C++编写测试接任务、交任务、完成任务的代码 |
057 | C/C++编写测试交任务与完成任务功能的代码 |
058 | C/C++写代码hook分析封包数据格式(A部分) |
059 | C/C++使用Detours进行hook分析封包数据格式(B部分) |
060 | C/C++过滤和格式化hook分析封包数据格式(C部分) |
061 | C/C++写代码hook分析封包数据格式并将结果写入配置文件(D部分) |
062 | C/C++读取配置文件中hook分析封包数据格式的结果(D部分) |
063 | C/C++处理hook分析封包数据格式的配置信息容错(E部分) |
064 | C/C++写代码hook分析封包数据格式时获取返回地址(F部分) |
065 | C/C++在不使用汇编的情况下进行hook处理的实现 |
066 | C/C++利用自写代码分析转向功能的组包过程 |
067 | C/C++利用自写代码分析转向功能并进行功能测试 |
068 | C/C++利用自写代码分析进入游戏副本的功能实现 |
游戏外挂技术(中级班)lua脚本部分
序号 | 课程标题/内容描述 |
---|
c001 | Visual Studio环境中编译Lua教程 |
c002 | C++与Lua脚本系统交互访问教程 |
c003 | Lua编译器与Lua解释器原理介绍 |
c004 | Lua常用数据类型与print函数的使用教程 |
c005 | Lua中的判断语句、条件表达式与常用运算符教程 |
c006 | Lua数据类型Table详解与使用示例 |
c007 | Lua循环与迭代器的使用教程 |
c008 | Lua中常用的函数集合及其使用方法 |
c009 | 逆向分析游戏中Lua脚本接口dofile和dostring的工作原理 |
c010 | C++调用游戏中Lua脚本接口的方法与实践 |
c011 | 使用xdbg和CE进行逆向分析,定位游戏中的dostring过程 |
c012 | 进一步通过xdbg和CE逆向分析定位游戏中的dostring功能实现 |
c013 | xdbg.ce分析游戏Lua解释器内部指针l指针的作用与解析方法 |
c014 | C++调用游戏脚本接口并增加UTF8支持的实现方法 |
c015 | xdbg和CE分析游戏luadofile接口的实现原理与工作流程 |
c016 | C++进行文件写入操作的教学与实践 |
c017 | C++实现文件读取操作的详细教程(MP4格式) |
c018 | C++增加执行Lua脚本文件功能的实现方法 |
c019 | Lua脚本实践:遍历背包与使用背包物品的方法 |
c20 | Lua脚本实践:遍历装备并实现装备修理功能 |
c021 | xdbg和CE分析游戏Lua脚本注册功能接口的实现原理 |
c022 | C++编写代码以测试Lua脚本注册接口的使用效果 |
c023 | xdbg和CE逆向分析游戏脚本接口保护机制,绕过游戏检测 |
c024 | xdbg和CE进一步逆向分析游戏脚本接口第二处检测机制 |
c025 | xdbg和CE提供另一种逆向分析方法,绕过游戏脚本接口第二处检测 |
c026 | C++逆向分析tonumber函数并注册寻路接口至Lua环境 |
c027 | C++逆向分析并编写代码测试获取游戏Lua脚本返回值的方法 |
c028 | C++重定向Lua输出到文件,使用Windows API写文件(第1部分) |
c029 | C++重定向Lua输出到文件,使用Windows API写文件(第2部分) |
c030 | C++重定向Lua输出到文件,使用Windows API写文件(第3部分) |
c031 | C++遍历游戏中注册的所有顶层函数的方法与实践 |
c032 | C++遍历游戏中的顶层UI对象及其实现细节 |
c033 | C++遍历游戏顶层UI并获取指定控件对象的具体步骤 |
c034 | Lua脚本获取指定控件对象名字的框架栈测试教程 |
c035 | Lua脚本创建窗口的实现方法与实践 |
c036 | Lua脚本创建控件按钮的教程与实践 |
c037 | 直接调用游戏内编辑框UI接口的方法与实践 |
c038 | 直接调用游戏内编辑框UI接口传递寻路坐标的实现 |
c039 | 脚本文件不存在时的容错处理及错误脚本异常原因分析 |
c040 | 为脚本接口添加错误处理机制及显示错误信息的方法 |
c041 | 分析Lua脚本文件出错原因并进行修复的教程 |
c042 | Lua遍历怪物列表初步设计与实现思路 |
c043 | hookGUID或hook对象原理演示与应用 |
c044 | 对象hook或ID劫持代码实现,解锁游戏高级Lua功能 |
c045 | Lua代码移植融合的技术详解与实践经验 |
c046 | 编写Lua遍历怪物列表功能的测试与验证教程 |
c047 | xdbg和CE逆向分析接口保护限制检测机制 |
c048 | 分析突破仅针对暴雪UI开放的保护接口限制的方法 |
c049 | 成功分析突破暴雪UI保护接口限制的解决方案 |
c050 | C++编写代码突破游戏接口保护限制并设计定点打怪脚本 |
c051 | C++计算角色朝向弧度的方法与实践 |
c052 | C++游戏转向功能的测试与验证教程 |
c053 | 设置角色朝向的Lua接口setFacingEx的使用教程 |
c054 | C++计算单位之间距离的方法(getUnitDistance, getUnitPos) |
c055 | C++遍历获取定点范围内一个怪物对象的实现方法 |
c056 | 完善定点打怪逻辑的C++实现与优化 |
c057 | xdbg和CE分析死亡怪物对象是否携带物品的教程 |
c058 | C++编写脚本接口unitIsLoot判断是否可捡物的功能实现 |
c059 | C++编写脚本接口setTimer的实现方法与实践 |
c060 | C++编写脚本接口killTimer的实现与应用 |
c061 | 为定点打怪功能添加捡物功能的C++实现 |
c062 | 为定点打怪功能添加定时器功能的C++实现 |
c065 | xdbg分析适合劫持hook自动注册Lua接口地址的方法 |
c066 | C++实现劫持hook自动注册Lua接口的技术详解 |
c067 | 完善劫持注入技术的C++实现(MP4格式) |
c067 | 完善劫持注入技术的C++实现(this版本,MP4格式) |
c068 | C++解决移动过程中无法释放技能问题的解决方案 |
c069 | C++分析并解决转向与释放技能冲突问题(第1部分) |
c070 | C++分析并解决ID为0引发的问题及解决方案 |
c071 | C++分析游戏寻路导航接口A部分的实现原理与工作机制 |
c072 | C++分析游戏寻路导航接口B部分的实现原理与工作机制 |
c073 | C++分析游戏寻路导航接口C部分移植到DLL的实现方法 |
c074 | C++编写寻路到目标坐标的Lua功能接口实现方法 |
c075 | C++优化寻路速度并修复寻路Bug的实践与方法分享 |
驱动保护
序号 | 视频课程主题/内容概要 |
---|
d001 | 驱动开发环境介绍 |
d002 | 驱动开发入门:创建第一个Hello World驱动 |
d003 | 完善驱动框架:添加卸载例程 |
d004 | 完善驱动框架:IRP例程注册 |
d005 | 虚拟机系统安装与驱动签名,启用签名测试模式 |
d006 | 驱动设备与符号链接的创建与管理 |
d007 | R3层与R0层通信:数据交换A部分 |
d008 | R3层与R0层通信:数据交换B部分 |
d009 | R3层与R0层通信:数据交换C部分 |
d010 | IRP_MJ_WRITE与IRP_MJ_READ读写测试 |
d011 | C/C++编写加载驱动的代码 |
d012 | C/C++编写卸载驱动的代码 |
d013 | C/C++实现进程保护:阻止结束进程 |
d014 | C/C++实现进程保护:拒绝读写访问 |
d015 | C/C++分析处理蓝屏错误(bad_pool_caller) |
d016 | C/C++实现只保护特定进程的功能 |
d017 | C/C++根据进程名字保护特定进程 |
d018 | C/C++根据进程ID保护特定进程 |
d019 | Windbg双机调试技术教程 |
d020 | C/C++修复只保护特定进程功能的优化版 |
d021 | 栈溢出问题分析与解决策略 |
d022 | 虚拟机优化提速解决花屏等问题的方法 |
d023 | 突破TP/np保护:跨进程读写内存1 |
d024 | 突破TP/np保护:跨进程读写内存2 |
d025-026 | 突破TP/np等游戏保护:跨进程读写内存方法2(合并视频) |
d027 | 突破TP/np等游戏保护:跨进程读写内存方法3 |
d028 | 突破TP/np等游戏保护:向只读内存写入数据的方法(已成功实现) |
d029 | CR0方式写入只读内存:分步解析A&B |
d030 | 绕过TP/np等游戏保护:直接物理地址读写内存方法4 |
d031 | 驱动层面遍历Process/Thread Object及钩子技术 |
d032 | 驱动对抗Process Object保护钩子,实现完全规避(适用于网易、腾讯等驱动保护) |
d033 | 驱动对抗CE进程无图标问题(针对网易、腾讯等驱动保护的研究) |
d034 | 驱动技术:为指定进程提升权限及降低权限的原理与实现 |
d035 | 解决权限问题:遍历所有进程句柄的方法 |
d036 | 解决权限问题:遍历指定进程句柄的方法 |
d037 | 解决权限问题:遍历指定进程句柄并获取句柄对象 |
d038 | 解决权限问题:遍历指定进程句柄并获取句柄权限 |
d039 | Windbg分析ObReferenceObjectByHandle过程,理解如何取回进程句柄 |
d040 | Windbg分析进程句柄表和句柄权限地址之间的关系 |
d041 | 通过逆向ObReferenceObjectByHandle深入理解进程句柄的三张表 |
d042 | 通过逆向分析深化理解进程句柄的三张表(重复项) |
d043 | C++实现获取进程句柄对象(重复项) |
d044 | C++实现获取进程句柄对象(重复项) |
d045 | C++实现获取进程句柄对象及遍历指定进程句柄 |
d046 | C++实现获取指定进程句柄对象地址和句柄权限 |
d047_048 | C++实现获取指定进程句柄类型(包括补录视频) |
d047 | C++获取指定进程句柄类型(补录) |
d048 | C++获取指定进程句柄所属PID(补录) |
d049 | 提升指定进程权限以绕过TP/np/XignCode3/EAC/BE等保护机制 |
d050 | 分析进程提权的局限性及完美绕过多种保护的思路 |
d051 | 设计完美绕过TP/np/XignCode3/EAC/BE等保护的框架方案 |
d052 | 使用Windbg配合xdbg分析代码中的错误及调试方法 |
d053 | 测试Hook方法绕过游戏保护以实现内存读取 |
d054 | 处理游戏保护下的内存读写兼容性问题 |
d055 | 分析WRK源代码,研究修改CE绕过TP/np/XignCode3等驱动保护的原理 |
d056 | 根据分析结果编写代码,实战绕过TP/np/XignCode3等驱动保护 |
d057 | 测试和完善修改后的CE,确保能够有效绕过多种驱动保护 |
d058 | 完美实现修改CE绕过TP/np/XignCode3等驱动保护(优化修复版) |
d059 | 驱动级隐藏注入技术A |
d060 | 驱动级隐藏注入技术B |
d061 | 在R0层监控进程创建的情况 |
d062 | 在R0层监控进程模块加载的情况 |