zoukankan      html  css  js  c++  java
  • 网页游戏常见外挂原理及防御

    

    网页游戏常见外挂原理及防御  


    第一种:动作式
    原理:模仿键盘鼠标来操作UI
    工具:按键精灵
    例子:录制(基于GUI)——生成脚本——编辑脚本——回放
    防御:增加人机交互(重点是玩家输入,如登陆口常用的验证码机制)
    第二种:本地修改
    1)修改flash LSO本地共享对象

    C:Documents and Settings(你的Windows用户名)Application DataMacromedia

        Flash Player#SharedObjects(一些随机数字和字母)

    工具:sol editor

    2)修改游戏在内存中的数值

    工具:cheat engineer

    搜索并修改内存数值的一般步骤:

    1.运行ce

    2.运行游戏

    3.ce中指定要修改的游戏

    4.首次搜索一个数值

    5.回游戏中让这个数值增加或减少

    6.ce按数值增减的情况再次搜索

    7.重复56直到看到一个或很少的几个结果

    8.在这几个结果钟哦你判断哪一个是真正的结果

    3)修改flash客户端

    工具:flasm(将swf变成可读的汇编语言),flare(将swf变成as)

    例子:修改游戏中的积分(很多flash游戏的逻辑判断完全依赖于客户端),获得更多的游戏币

    防御:

    1)治本防御:验证逻辑放在服务端

    2)治标防御:对每日收入做限制;客户端防御内存修改(数值加密,完整性验证)

    第三种:加速

    原理:提高客户端的时间节律

    1)提高时钟硬件的节律

    2)截获时间频率的API比如SetTimer之类的API,替换成自己的函数(对服务器端控制节律的网游没有效果)

    工具:变速齿轮

    防御:检测系统时钟的差异,防止加速程序更改系统时钟

    第四种:修改封包

    原理:截获服务端与客户端的通信包,修改封包并转发

    工具:WPE

    例子:修改物品id,礼包id,物品数量,绕过客户端限制获得大量物品

    WPE修改封包步骤要点:

    1.运行wpe

    2.运行游戏

    3.wpe中指定要修改的游戏

    4.录制游戏操作

    5.分析封包

    6.重复45对比截获的封包,直到找出封包的重要字节

    7.设置过滤器(查找封包,并替换指定字段)

    8.回到游戏中操作

    网游通信常见协议格式:

    a、直接通过WinSock编程接口进行,自定义协议数据格式,大多数的网络游戏采用这个方式。

    包结构: 包头(定长 + 包体(不定长,具体协议具体分析)

    b、通过HTTP协议进行通讯,有些网络游戏利用IE的组件进行通讯。很少

    C、通过SOAP协议进行通讯,还没有见过这样的大型网络游戏,可能很快就会有。

    D、通过AMF协议进行通讯(flex自定义的高效二进制数据),常见。(可以用Charles工具捕捉修改封包)

    防御:

    1)协议加密,防破解

    2)协议完整性验证,防修改

    3)序列号加密,防重发

    4)客户端服务端双重验证(注:对物品获取,一定要检查获取上限,获取条件,注意的配置的错误,或者是否读入旧的配置表)

  • 相关阅读:
    uniapp开发微信小程序
    requests自动登录禅道并提交bug 测试
    [转载]使用CPU时间戳进行高精度计时
    lu面
    音量控制面板项目说明
    【转载】粤语翻译工具
    专业操盘手的买卖法则
    自动刷新查询火车票脚本
    股东权益和权益比
    异形魔方SQ1的暴力解法
  • 原文地址:https://www.cnblogs.com/xiayong123/p/3716970.html
Copyright © 2011-2022 走看看