所谓知己知彼方能百战不殆,要想减少或避免外挂对游戏的侵害,必须从根本上知晓外挂的原理,及其常用的技术手段,从而在技术手段上对其进行封堵。

一、 外挂 的分类

外挂一般的分为2类,脱机式 和 内挂式。

脱机式外挂的定义:完全脱离官方发布的客户端程序,可以与游戏服务器自由的进行通讯的外挂程序,这类外挂的实现是2类外挂里最困难的,主要难点在于外挂制作者需要对游戏的通讯协议进行充分的分析,包括解决封包的加密解密问题,使得封包合法化,这样游戏服务器才能接受并处理。

内挂式外挂的定义:内挂需要以官方发布的客户端程序为载体,依靠客户端程序来完成与游戏服务器的通讯,主要通过反汇编手段分析并修改客户端代码后实现功能,一般通过直接调用游戏客户端的发包函数进行发包,或者调用游戏客户端的封包加密解密函数自行处理发包收包。

二、制作外挂常用的技术手段

制作外挂一般使用的分析工具:
动态分析  OllyDbg (OllyICE)
静态分析 IDA Pro

制作外挂一般使用的开发工具:
VisualStdio系列(VC++,VB)
Borland系列(Delphi,BCB,BC++)
中国人自己的开发工具(易语言)(编者注:此开发工具优势在于控件种类上,有专门的用于外挂制作的控件)

制作外挂的技术要点:
鼠标键盘模拟技术:这类技术在 RING3层 可通过调用WIN32 API实现,在RING0层可通过驱动模拟鼠标键盘输入来实现。按键精灵就采用在RING0层通过驱动来模拟鼠标键盘,比较底层。

Hook技术:包括 API HOOK  、普通的对游戏代码进行HOOK等。这类技术有个特点,对目标进程的代码会进行修改。

脚本技术:扩充外挂功能的技术之一,能让外挂使用者编写脚本来扩充外挂功能。

三、反外挂中常用的技术手段

反外挂一般使用的分析工具:
动态分析 OllyDbg(OllyICE)
静态分析 IDA Pro

制作反外挂一般使用的开发工具:
依据游戏客户端采用的开发工具来决定。

制作反外挂的技术要点:
代码校验:包括磁盘代码及内存代码校验,防止代码被非法更改。

虚拟机保护:虚拟机(VM )其实就是Virtual Machine的缩写,这里说的VM并不是像VMWare那样的虚拟机,而是将一系列的指令解释成bytecode(字节码)放在一个解释引擎中执行,能有效的干扰非法调试者对保护的代码进行分析。是反外挂技术中的重中之重。

驱动保护:采用底层钩子技术,一般采用SSDT HOOK来对游戏进程进行保护。但这种技术有一个致命的缺陷,就是兼容性问题。

反调试:对调试过程产生干扰,阻止非法调试者进行正常的调试。反调试代码加多后会导致兼容性稳定性出现问题。

四、一般保护的思路及步骤

防止脱机式外挂:
合理的设计封包通讯协议及对封包加密解密算法进行虚拟机保护能有效的防止脱机外挂,反脱机外挂的难度比较低。而且技术要求也不高。

防止内挂式外挂:
反该类外挂主要从代码校验上着手,并配合虚拟机保护,必要时候加上简单的驱动。简单的可以采用如下步骤处理:
(1)        将封包加密解密独立成一个动态连接库(DLL),供游戏主程序调用进行封包加解密。
(2)        更换封包加密解密方式,防止破解者采用替换旧客户端的方式进入游戏。
(3)        反外挂功能在独立出来的动态连接库里实现,在独立出来的动态连接库中加入对主程序代码段校验。建立一个新的反外挂线程来校验代码段,加入敌意进程或模块的特征检测,对关键的API进行检测。检测到非法可以对服务器进行报告,并在客户端主动切断与游戏服务器的连接。
(4)        在加密解密函数里加入对反外挂线程的检测,检测反外挂线程是否正常运行,如果检测到非法情况,同样对服务器进行报告并主动切断与游戏服务器的连接。
(5)        对独立出来的DLL进行 虚拟机保护 (封包加解密及反外挂线程代码)。
(6)        加入一些反调试技术。
(7)        根据实际情况采用驱动技术,对游戏进行保护。

五、对反外挂工作的建议 
反外挂工作具有长期性,复杂性等特性,故建立专门进行此类工作的软件安全小组是必须的,及时的收集外挂后分析外挂的所使用的技术和破解反外挂系统的方式,写出相应的检测及防护代码,提交后进行游戏更新。通过不断的完善反外挂系统,我有理由坚信,外挂会在这样的保护措施下销声匿迹。

一般游戏的反外挂保护方案相关推荐

  1. 突破游戏驱动级反外挂保护

    现在大多数网络游戏都使用驱动级的反外挂保护,使其他程序无法获得其游戏窗口句柄,下面驱动代码可以恢复被TesSafe.sys Hook掉的API. #include <ntddk.h> #i ...

  2. 手机游戏盗版现状与保护方案研究分析

    本文为360无线安全研究院投稿. 随着用户移动支付习惯的形成,手机游戏付费收入也逐年增长,但在看似繁荣的大好形势下,手游盗版问题一直相伴而生,并且有愈演愈烈之势.所以各大游戏厂商也开始注重手游的安全性 ...

  3. 基于御安全APK加固的游戏反外挂方案

    摘要:兴起的手游市场背后隐藏着严峻外挂问题,这已经影响到游戏开发商的收益及众多正常游戏玩家的体验,因此必然需要一种反外挂的手段,来保证游戏开发商的合法利益.御安全加固平台已研究推出了一种方便.高效以及 ...

  4. [ZZ]变速齿轮作者的文章--绝杀反外挂方案

    自从网络游戏诞生以来外挂就一直是网络游戏厂商头痛的问题.由于网络游戏服务器端的负荷很重,不能进行太多计算,只能把大量检测外挂的工作放在网络游 戏的客户端进行.但是外挂也总是可以进行针对性的修改,使这些 ...

  5. 知物由学 | 驱动反外挂另辟蹊径,让游戏避免看不见的漏洞攻击

    工欲善其事,必先利其器.游戏攻防对抗亦是如此,外挂作者通过各种工具提升游戏破解效率,通常防御方会根据其工具特性针对性防御.此种场景下的防御似乎总是后人一步. 难道就没有好的办法了吗?为了解决这个痛点, ...

  6. 基于云查杀的PC游戏反外挂

    外挂是游戏公司的克星.针对于不同的游戏,反外挂的策略也是不同的.比如是一款老游戏需要接入反外挂系统的话,驱动技术就不好了,原因很简单,这个时候的老游戏的汇编代码早已被市场上的外挂作者获取到了,各个功能 ...

  7. 移动APP反外挂攻防实战

    **> 前言 ** 近日,某某龙在2018年的一次会议上发表了一个演讲,4000多人聚集在现场玩"跳一跳"游戏.随着他们指尖的翻飞跳跃,大屏幕上的现场排名也在不断刷新--而在 ...

  8. iOS游戏反外挂方案解析

    自2007年iPhone OS发布以来,iOS系统已经发展了近17年,凭借着独家的系统环境.安全性更高的闭源生态等优势.iOS从一众手机系统中脱颖而出,与安卓稳坐手机系统市场两把头部交椅. 不同于安卓 ...

  9. 网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂

    网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂 一.服务简介 网易云加密为网易公司旗下产品,致力于为移动应用程序提供专业保护方案,让加固变得更简单,一键搞定.目 ...

最新文章

  1. 学生系统优化(一)- - 字符限定
  2. Dell最近的几款显示器看上去还不错的样子
  3. Javascript权威指南学习笔记一:数据类型
  4. 谣言止于智者:基于深度强化学习的谣言早期检测模型
  5. jquery 里面对数组去重操作-unique
  6. 两个数相乘积一定比每个因数都大_人教版五年级数学:因数、倍数与分数的整理与复习...
  7. WinCE中得Catalog Items前的标记图标的意义总结
  8. Android 自动动画布局更新 使用,在RecyclerView上使用布局动画(Layout animation)
  9. 字符串对象的charAt函数存在的意义
  10. Linux之date命
  11. 计算机本地网络如何共享,本地网络共享如何实现?
  12. dotnet 使用 Obsolete 特性标记成员过时保持库和框架的兼容性
  13. 开机黑屏显示html,电脑开机黑屏只显示光标怎么办?来看看几种原因分析及解决方法!...
  14. lightoj1278
  15. mysql数据库的连接--买家类目(上)
  16. CSGO DIY-小地图修改
  17. Zynq LTE基站设计与实现
  18. 电影资源详细信息爬取
  19. Python 安装opencv-python模块
  20. 立体布局图用什么软件做,制作商场电子地图的软件

热门文章

  1. VUE axios 跨域访问问题:CORS error
  2. 软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)
  3. 北航软工-软件案例分析-IT问答平台
  4. 为什么很多人消失在朋友圈
  5. 2019年2月掌众金融Java开发面试(2年工作经验)
  6. 半小时看懂互联网运营,学会做局与破局
  7. 做程序员工资很高,但做程序员真的是吃青春饭的吗?
  8. Java设计API 接口统一返回格式
  9. 【Java二十周年】春风十里,不如你
  10. AppStore 隐私政策