name: 游戏黑客技术 description: 游戏黑客技术和作弊开发指南。当研究内存操作、代码注入、ESP/aimbot开发、覆盖渲染或游戏利用方法时使用此技能。
游戏黑客技术
概述
此技能涵盖在awesome-game-security集合中记录的游戏黑客技术,包括内存操作、渲染覆盖、输入模拟和利用方法。
核心概念
内存操作
- 读取进程内存(RPM)
- 写入进程内存(WPM)
- 模式扫描
- 指针链
- 结构重建
进程注入
- DLL注入方法
- 手动映射
- Shellcode注入
- 线程劫持
- APC注入
钩子技术
- 内联钩子(detours)
- IAT/EAT钩子
- VTable钩子
- 硬件断点钩子
- 系统调用钩子
作弊类别
视觉作弊(ESP)
- 世界到屏幕变换
- 玩家/实体渲染
- 方框ESP、骨架ESP
- 物品高亮
- 雷达/小地图黑客
瞄准辅助
- Aimbot算法
- Triggerbot(自动开火)
- 无后坐力/无扩散
- 子弹预测
- 无声瞄准
移动作弊
- 速度黑客
- 飞行黑客
- 无碰撞
- 传送
- 自动连跳
其他
- 穿墙
- 皮肤修改器
- 解锁所有
- 经济操纵
覆盖与渲染
覆盖方法
- DirectX钩子: D3D9/11/12 Present钩子
- Vulkan钩子: vkQueuePresentKHR钩子
- OpenGL钩子: wglSwapBuffers钩子
- DWM覆盖: 桌面窗口管理器
- 外部窗口: 透明覆盖窗口
- Steam覆盖: 劫持Steam的覆盖
- NVIDIA覆盖: GeForce Experience劫持
渲染库
- Dear ImGui: 即时模式GUI
- GDI/GDI+: Windows图形
- Direct2D: 硬件加速2D
内存访问方法
用户模式
- OpenProcess + ReadProcessMemory
- NtReadVirtualMemory
- 内存映射文件
- 共享内存段
内核模式
- 基于驱动的访问
- 物理内存访问
- MDL基于的复制
- KeStackAttachProcess
高级方法
- DMA(直接内存访问)
- EFI运行时服务
- 基于Hypervisor的访问
- 基于硬件的(FPGA)
驱动通信
方法
- IOCTL基于
- 共享内存
- 注册表回调
- 系统调用钩子
- 数据指针交换
常见模式
// 数据指针交换示例
NtUserGetObjectInformation
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter
Win32k系统调用钩子
世界到屏幕计算
基本公式
Vector2 WorldToScreen(Vector3 worldPos, Matrix viewMatrix) {
Vector4 clipCoords;
clipCoords.x = worldPos.x * viewMatrix[0] + worldPos.y * viewMatrix[4] +
worldPos.z * viewMatrix[8] + viewMatrix[12];
clipCoords.y = worldPos.x * viewMatrix[1] + worldPos.y * viewMatrix[5] +
worldPos.z * viewMatrix[9] + viewMatrix[13];
clipCoords.w = worldPos.x * viewMatrix[3] + worldPos.y * viewMatrix[7] +
worldPos.z * viewMatrix[11] + viewMatrix[15];
if (clipCoords.w < 0.1f) return invalid;
Vector2 NDC;
NDC.x = clipCoords.x / clipCoords.w;
NDC.y = clipCoords.y / clipCoords.w;
Vector2 screen;
screen.x = (screenWidth / 2) * (NDC.x + 1);
screen.y = (screenHeight / 2) * (1 - NDC.y);
return screen;
}
引擎特定技术
Unity(Mono)
- Assembly-CSharp.dll分析
- Mono JIT钩子
- Il2CppDumper用于IL2CPP构建
- 方法地址解析
Unity(IL2CPP)
- GameAssembly.dll分析
- 元数据恢复
- 类型重建
- 原生钩子
Unreal Engine
- GObjects/GNames枚举
- UWorld遍历
- SDK生成(Dumper-7)
- 蓝图钩子
Source Engine
- 实体列表枚举
- NetVars解析
- ConVar操纵
- 签名扫描
输入模拟
方法
- SendInput API
- mouse_event/keybd_event
- DirectInput钩子
- 原始输入注入
- 基于驱动的输入(mouclass)
内核级别
- 鼠标类服务回调
- 键盘过滤驱动
- HID操纵
反检测技术
代码保护
- 多态代码
- 代码虚拟化
- 反转储技术
- 字符串加密
运行时规避
- 栈欺骗
- 返回地址操纵
- 线程上下文隐藏
- 模块隐藏
开发工作流
外部作弊
1. 模式扫描签名
2. 外部读取游戏内存
3. 在单独进程中处理数据
4. 渲染覆盖或使用输入模拟
内部作弊
1. 注入到游戏进程
2. 钩子渲染函数
3. 直接访问游戏对象
4. 通过游戏的图形上下文渲染
学习资源
社区
- UnknownCheats
- GuidedHacking
- Game Hacking Academy
练习目标
- PWN Adventure(故意易受攻击)
- CTF游戏挑战
- 较旧/不支持的游戏
数据来源
重要: 此技能提供概念指导和概述信息。对于详细信息,包括:
- 具体的GitHub仓库链接
- 完整项目列表及描述
- 最新工具和资源
- 代码示例和实现
请从主仓库获取完整数据:
https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/README.md
主README包含数千个按类别组织的精选链接。当用户询问具体工具、项目或实现时,从此源检索并引用相关部分。