这门课的名字里有「作弊」两个字,容易让人第一反应是外挂本身。但真正值得学的是它逼你补上的那几块底层知识:DirectX 11 的绘制时机、进程内的函数替换、三维坐标到屏幕坐标的换算、以及游戏内存里那套对象组织方式。如果你写过 C++、用过 Win32 窗口,却说不清「一帧画面到底在哪个函数里被提交给显卡」,这门课对应的正是这个缺口。

它假定你已经会什么

课程不从语法讲起。你至少得能读懂 C++ 类与虚函数表的关系,知道 Windows 消息循环怎么跑,能独立建一个 DLL 工程并让它注入到目标进程里。资料里涉及插件窗体、蒙板窗口、界面消息响应这几块,全是 Win32 窗口编程的活儿,没写过窗口过程函数的话会卡住。另外要能接受用调试器看反汇编,因为找敌方阵营信息、筛选角色与敌人这类环节,靠的是读内存布局而不是翻文档。

不满足这些前提也不是不能看,但要预期自己会频繁暂停去补前置内容,把它当一门课看完会吃力。

几个真正会卡住人的地方

  • 绘图钩子:Present 被替换之后,什么时候画自己的东西、怎么保证不打断游戏原本的渲染节奏,这是整门课的技术枢纽,后面的界面和标记都挂在这上面。
  • 坐标转换:三维世界坐标经过视图矩阵、投影矩阵、视口变换落到二维屏幕,中间任何一步的坐标系约定搞反,标记就会整体偏移或镜像。这一步出问题时现象很像「代码写错了」,其实只是行向量列向量没对齐。
  • 对象筛选:从一堆实体里挑出敌人,靠的是阵营字段、血量、距离这类可判别特征。难点不在写循环,在于先确认内存里这个字段到底存的是什么、有没有被加密或异或混淆。
  • 绘制叠加:给角色上色、画方框、做蒙板,都要和游戏原有的深度缓冲、混合状态相处。直接画往往被地形挡住或者盖住 UI,得理解渲染状态才能放在正确的一层。

配套练习建议这样做

不要一口气看完全部再动手。每看完一个环节,先在一款结构简单的单机 3D 游戏上复现最小版本:能挂上 Present 并画一个固定颜色的矩形,再去接坐标转换,最后才碰实体筛选。中间任何一步没跑通就停下来查,因为后面的内容全建立在前面已成立的基础上。

另外建议自建一个记录表,写清楚每个偏移量是怎么找到的、换一个游戏版本后哪部分会失效。这类工作的脆弱性本身就是知识点,能说清「为什么失效」比能跑通一次更有价值。

看完应该能回答的问题

  • 一帧画面从游戏逻辑到屏幕,经过哪几个可被介入的节点,各自的代价是什么?
  • 世界坐标转屏幕坐标需要哪几个矩阵,缺一个会出现什么现象?
  • 从进程内存里定位一个实体的属性,可以走哪几条线索,如何交叉验证?
  • 自己绘制的图形为什么会被场景遮挡,深度测试和混合状态该怎么设置?
  • 换一个游戏版本后哪些环节最可能失效,为什么?

需要说明的是,这些技术只应作用于自己拥有或获得授权的程序,用于学习渲染管线、内存布局和逆向分析方法。把它当成理解游戏引擎内部运作的一把钥匙,比当成成品工具更有长期价值。如果你的目标只是「让某个游戏出现某种效果」,那这门课的成本会显得很高;如果你的目标是搞明白 3D 程序运行时到底发生了什么,它的密度是合适的。

C++游戏编程实例精讲--3D射击游戏作弊

深入C++游戏编程,掌握3D射击游戏作弊技巧

编辑点评

实战导向,聚焦3D射击游戏作弊技术,适合游戏开发爱好者及专业人士。

⭐ 编辑推荐

本课程通过实例精讲,深入剖析C++游戏编程,带你掌握3D射击游戏作弊技术。

课程亮点

• 实战导向
• C++游戏编程
• 3D射击游戏作弊

课程目录

第21课寻找敌方阵营信息.mp4  [342.0 MB]
第11课插件界面消息响应.mp4  [168.2 MB]
第24课3D世界坐标转屏幕2D坐标.mp4  [239.9 MB]
第05课利用DX11绘图原理实现插件窗体.mp4  [351.2 MB]
第14课筛选角色与敌人.mp4  [248.1 MB]
第20课为游戏窗体创建蒙板窗口.mp4  [230.2 MB]
第08课Hook游戏的Present.mp4  [206.3 MB]
第16课为3D游戏角色上色.mp4  [223.8 MB]
第03课游戏作弊插件框架.mp4  [200.3 MB]
第17课CS类射击游戏远程作弊框架.mp4  [144.0 MB]
第02课开发环境的配置.mp4  [127.5 MB]
第13课Hook接口过滤3D模型(人物和车辆).mp4  [116.4 MB]
第09课Imgui的初始化与半透明风格.mp4  [209.0 MB]
第23课编程读取敌人坐标与矩阵数据.mp4  [318.1 MB]
第06课D3D11虚表分析与Hook原理.mp4  [215.0 MB]
第04课作弊模块与界面.mp4  [257.1 MB]
第15课D3D11透视功能的实现.mp4  [211.1 MB]
第10课绘制作弊界面Frame.mp4  [202.8 MB]
第12课D3D绘图基础与透视过滤原理.mp4  [102.3 MB]
第19课读取FPS射击游戏人物坐标等信息.mp4  [380.8 MB]
第18课读取FPS射击游戏人物血量.mp4  [156.8 MB]
第22课寻找角色在游戏世界中的矩阵.mp4  [444.4 MB]
第25课GDI画方框将敌人标记出来.mp4  [236.8 MB]
第07课使用Detours库挂钩.mp4  [190.7 MB]

适合人群

  • 游戏开发爱好者
  • 游戏开发专业人士

学习收获

掌握C++游戏编程基础
学会3D射击游戏作弊技巧
提升游戏开发能力

祝您学习愉快!

学有所成,前程似锦!