zoukankan      html  css  js  c++  java
  • 页游变速齿轮作弊的前端处理(转)

    变速齿轮这样的作弊软件已经不是什么新鲜的玩意了,但是它们的出现缺验证的破坏掉游戏的运营与维护。
    下面来说说怎么在前端中将这样的一款毒瘤给摘除掉。

    首先看看变速齿轮这类软件的工作原理:
    变速齿轮工作的原理是通过修改API函数GETTICKCOUNT和TIMEGETTIME骗过了游戏和程序的定时器导致游戏和程序速度看起来被改变。

    咋一看,貌似十分不好处理,因为经过变速齿轮加速后,播放器的运算时间也被修改了,其表现就是通过调用gettimer的方式获得的时间已经跟实际时间不同了。
    怎么去防止此类操作呢?其实突破点也不难找,虽然通过修改API函数GETTICKCOUNT和TIMEGETTIME骗过了游戏和程序的定时器导致游戏和程序速度看起来被改变后的游戏运行时间已经不可信任,但是系统时间却还是准确的。我们只要通过获取系统时间的间隔差值与通过gettimer()得到的时间间隔差值比较一下就可以知道玩家当前时候通过变速齿轮在作弊了。当然为了更加准确,这里还进行了一个连续处罚次数来保证期判断的准确性。
    下边是具体的检测代码实现。

     private static var cheatNum:int

                    private static var cheatTime:int

                    private static var timerNum:int;

                    public static function checkCheat():void

                    {

                            var date:Date=new Date

                            var durValue:int=date.time-cheatTime

                            var timerdurValue:int=getTimer()-timerNum

                            if(timerdurValue-durValue>10)

                            {

                                    cheatNum++

                                    if(cheatNum>5)

                                    {

                                            tarce("检测到异常操作")

                                    }

                            }else {

                                    cheatNum=0

                            }

                            timerNum=getTimer()

                            cheatTime=date.time

                    }

                    

  • 相关阅读:
    Spark
    升级测试数据迁移数据库版本不兼容的问题:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
    Redis
    批处理引擎MapReduce
    分布式协调服务ZooKeeper
    分布式列式存储系统Kudu
    Python入门学习笔记9:Python高级语法与用法-枚举、函数式编程<闭包>
    Python入门学习笔记8:正则表达式与JSON
    Python入门学习笔记7:面向对象
    Python入门学习笔记6:函数
  • 原文地址:https://www.cnblogs.com/chenhongyu/p/3003081.html
Copyright © 2011-2022 走看看