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

                    }

                    

  • 相关阅读:
    工程师的十层楼,上
    工程师的十层楼 (下)
    2011CCTV中国经济年度人物评选结果揭晓
    IT行业程序员薪水差距之大的原因是什么
    单片机C应用开发班
    【分享】对输入子系统分析总结
    P6156 简单题 题解
    P3911 最小公倍数之和 题解
    dp 做题记录
    UVA12298 Super Poker II 题解
  • 原文地址:https://www.cnblogs.com/chenhongyu/p/3003081.html
Copyright © 2011-2022 走看看