游戏外挂

读书笔记:游戏安全防外挂

2019-08-28  本文已影响0人  游戏开发程序员

游戏安全防外挂

什么是外挂

游戏的3个保护核心

VMProtect商业产品

  1. VMProtect 是新一代的软件保护系统,将保护后的代码放到虚拟机中运行,这将使分析反编译后的代码和破解变得极为困难。使用 MAP 文件或内建的反编译引擎,您可以快速选择需要保护的代码。
  2. VMProtect保护原理 与其它大部分的保护程序不同,VMProtect可修改程序的源代码 [2] 。VMProtect可将被保护文件中的部分代码转化到在虚拟机(以下称作VM)上运行的程序(以下称作bytecode)中。您同样可把VM想象为具备命令系统的虚拟处理器,该命令系统与Intel 8086处理器所使用的完全不同。例 如,VM没有负责比较2个操作数的命令,也没有有条件与无条件的移转等。就象您现在看到的,黑客必须开发一款特定的工具以分析与反编译bytecode, 而且还相当地耗时。3

保护程序的三个方法

外挂的说明和解释

外挂的设计思路和步骤

  1. 把核心功能模块注入目标游戏进程。
  2. 外挂模块进入游戏空间后,隐藏外挂模块,避免被人或者安全模块检测到。
  3. 外挂和用户指令交互,构建完全的交互环境,防止被安全分析人员定位。
  4. 接受操作指令后,开始执行与游戏相关的核心功能,吸怪,加速,释放技能,加红蓝(技术:CALL函数,HOOK)
  5. 分析游戏的安全保护方案,并且绕过他。
  6. 外挂的自我保护。

反外挂的思路

  1. 防止外挂开发者分析游戏客户端代码:去掉调试信息和明文字符串等,给客户端加保护壳。
  2. 防止外挂模块注入游戏客户端:常用双进程保护的启动方式,或者在驱动里添加监控加载模块的功能。
  3. 防止外挂开发者分析游戏通讯协议:通信协议必须要加密,最好经常更换密钥或算法,还有防止重放数据包的功能
  4. 防止外挂模块CALL函数,修改代码或数据。

注入技术

自我隐藏:无模块化

安全的交互通道

CALL函数相关知识

HOOK大全

INTEL X86处理器的RING级别访问控制

应用层防护

脱壳和加壳

Dump程序基本步骤(LordPE):

  1. 就是把内存中运行的PE进程的数据,从内存中抓取出来,然后在用文件的形式保存下来。
  2. 在系统中找到目标进程。
  3. 在进程中确定进程的大小imagesize。
  4. 把进程中的数据保存到文件。

分析工具介绍

  1. GameSpider WINDOWS下的外挂和游戏辅助分析工具。是DLL模块。
  2. Kernel Detective 用于检测,分析和修改WINDOWS NT内核的免费工具。强大的静态逆向分析工具。
  3. 脱壳工具:https://baike.baidu.com/item/%E8%84%B1%E5%A3%B3/9482636?fr=aladdin

加速外挂(全屏加速和角色加速挂)

自动瞄准和反后坐力

  1. 反后坐力:测试出开钱前后的反弹距离Z,然后调用mouse_event(...,x,y+z,..)函数。
  2. 自动开枪:通过模拟按键和像素检测来自动射击。

D3D9的HACK点(通过调用SetRenderState)

  1. 线框透明:渲染时忽略图形表面的材质和纹理。
  2. 禁用光照:可以高亮显示要关注的物体对象。
  3. 禁用烟雾效果:绘制场景中烟雾效果会消失。
  4. 禁用Z缓存:Z坐标判断深度失效,导致被挡住的物体会出现在面前。
  5. 修改材质ALPHA实现透明效果。
上一篇下一篇

猜你喜欢

热点阅读