宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 4188|回复: 0

一般游戏的反辅助保护方案

[复制链接]
  • TA的每日心情
    开心
    2024-12-9 18:45
  • 签到天数: 124 天

    [LV.7]常住居民III

    admin 发表于 2009-11-27 23:37:31 | 显示全部楼层 |阅读模式

    欢迎您注册加入!这里有您将更精采!

    您需要 登录 才可以下载或查看,没有账号?注册

    x
    一、辅助的分类

    辅助一般的分为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) 根据实际情况采用驱动技术,对游戏进行保护。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-21 21:25 , File On Powered by Discuz! X3.49

    快速回复 返回顶部 返回列表