第1篇 游戏和外挂初识篇
第1章 认识游戏和外挂
1.1 游戏安全现状
1.2 什么是外挂
1.3 内存挂与游戏的关系
1.4 游戏的3个核心概念
1.4.1 游戏资源的加/解密
1.4.2 游戏协议之发包模型
1.4.3 游戏内存对象布局
1.5 外挂的设计思路
1.6 反外挂的思路
1.7 本章小结
第2篇 外挂技术篇
第2章 五花八门的注入技术
2.1 注册表注入
2.2 远线程注入
2.3 依赖可信进程注入
2.4 APC注入
2.5 消息钩子注入
2.6 导入表注入
2.7 劫持进程创建注入
2.8 LSP劫持注入
2.8.1 编写LSP
2.8.2 安装LSP
2.9 输入法注入
2.10 ComRes注入
第3章 浅谈无模块化
3.1 LDR_MODULE隐藏
3.2 抹去PE“指纹”
3.3 本章小结
第4章 安全的交互通道
4.1 消息钩子
4.2 替代游戏消息处理过程
4.3 GetKeyState、GetAsyncKeyState和GetKeyBoard State
4.4 进程间通信
4.5 本章小结
第5章 未授权的Call
5.1 Call Stack检测
5.2 隐藏Call
5.2.1 Call自定义函数头
5.2.2 构建假栈帧
5.3 定位Call
5.3.1 虚函数差异调用定位Call
5.3.2 send() 函数回溯定位Call
5.4 本章小结
第6章 Hook大全
6.1 Hook技术简介
6.2 IAT Hook在全屏加速中的应用
6.3 巧妙的虚表Hook
6.3.1 虚表的内存布局
6.3.2 C++ 中的RTTI
6.3.3 Hook虚表
6.4 Detours Hook
6.4.1 Detours简介
6.4.2 Detours Hook的3个关键概念
6.4.3 Detours Hook的核心接口
6.4.4 Detours Hook引擎
6.5 高级Hook
6.5.1 S.E.H简介
6.5.2 V.E.H简介
6.5.3 硬件断点
6.5.4 S.E.H Hook
6.5.5 V.E.H Hook
6.5.6 检测V.E.H Hook
6.6 本章小结
第7章 应用层防护
7.1 静态保护
7.2 动态保护
7.2.1 反dump
7.2.2 内存访问异常Hook
7.3 本章小结
第3篇 游戏保护方案探索篇
第8章 探索游戏保护方案
8.1 分析工具介绍
8.1.1 GameSpider
8.1.2 Kernel Detective
8.2 定位保护模块
8.2.1 定位ring0保护模块
8.2.2 定位ring3保护模块
8.2.3 定位自加载模块
8.3 分析保护方案
8.3.1 ring3保护方案
8.3.2 ring0保护方案
8.4 本章小结
第4篇 射击游戏安全专题
第9章 射击游戏安全
9.1 自动开枪
9.1.1 易语言简介
9.1.2 易语言版自动开枪外挂
9.2 反后坐力
9.2.1 平衡Y轴法
9.2.2 AutoIt脚本法
9.3 DirectX Hack
9.3.1 DirectX简介
9.3.2 用Direct3D绘制图形
9.3.3 D3D9的Hack点
9.3.4 D3D9 Hook
9.4 本章小结
第5篇 外挂检测技术篇
第10章 外挂的检测方法
10.1 代码篡改检测
10.2 未授权调用检测
10.3 数据篡改检测
10.3.1 吸怪挂分析
10.3.2 线程转移和消息分流
10.4 本章小结
附录A 声明
附录B 中国计算机安全相关法律及规定
展开
——北京安管佳科技有限公司 CTO 石磊
在安全领域,国内不乏过程式描述的书籍,但真正深入揭秘内部原理的却很少,对某个问题进行独立思考并提出新的解决方案的更是寥寥无几。本书在对"攻"和"防"的描述过程中,深刻地揭露了现象的内部原理,同时提出很多创造性的解决方案,相信可以极大地开阔读者的眼界和思路。
——凌码信息技术公司信息安全部经理 任云韬
对虚表进行Hook所采用的模糊假定,对定位自加载模块所采用的差异分析,对检测V.E.H Hook所采用的虚假注册,对绕过Call Stack检测所采用的虚拟栈帧等思路,让本书充满亮点。这些解决问题的创造性思维,无不让我受益匪浅。强烈建议安全从业者精读此书,相信一定可以得到全新的收获。
——阿里巴巴高级安全技术专家 张玉东
游戏外挂和游戏公司的斗争是一场长期的博弈,正所谓"道高一尺,魔高一丈"。本书不仅带领读者深入了解外挂所采用的各种技术,还从反外挂的角度介绍如何分析和发现外挂作弊行为,所以,作者是站在裁判的高度来揭示这场没有硝烟的攻防战中所涉及的各个技术点的。我相信,书中娓娓道来的技术亮点和对抗过程,一定会让读者耳目一新,并从中获益。
——成都安思科技有限公司副总经理 沈东
没有空洞的理论,有的是对实践提炼后的总结;没有只停留在表面的肤浅介绍,更多的是深入现象看实质;没有从一条线的头枯燥地谈到尾,而是从"攻"和"防"两条线并行而论;没有乏味地以粗糙的手法来解决一个问题,而是设计了精妙的解决方案。强烈推荐此书给各位读者,希望也能引发大家的共鸣。
——中国科学院软件研究所博士 张谦