一款游戏对于检测玩家是否有作弊行为的检测原理

     在我们运用一些游戏内存修改工具或则尝试对于游戏作出一系列数据修改时,我们通常会收到游戏对于我们的一系列警告,而下面的内容讲的是一款游戏程序它的基本检测原理是什么,当然笔者这里讲的是为什么,而怎么去过掉这个游戏检测,望你我共同努力。

     我把游戏检测共分为两部分内容,一部分是游戏运行前在编译阶段文件内容及其完整性的校验(判断要运行的程序中文件是否变动或异常),另一部分则是游戏运行时服务器对于游戏数据异常所作出的判断。

     游戏运行前的检测方案:

     1 文件名或占用内存检测 :一款游戏运行程序通常由多个文件共同编译链接组成,而在这期间开发者为了防止某一文件引起的变动或则文件名的改变,通常会去对文件做一下文件名完整校验以及文件内存校验。

     2 MD5文件完整性校验 :一款游戏程序的文件在被开发者发布时通常会具有唯一的校验码(运用md5方法对文件的加密方式),当我们修改这一文件时,其文件校验码也会随之变动,而游戏在运行时也会对其文件校验码的值进行检测,若符合原来的校验码则文件正常,否则就会显示异常,而游戏通常又是采用一些列检测方案来对其进行检测的(一般包括对于其检测时间节点以及检测周期,当然这样做是为了防止游戏的卡顿)

    游戏运行时的检测方案(运行时检测一般都与数据检测有关,判断在程序运行时分配的数据是否超出规定的范围,程序的逻辑是否出现问题以及发送的数据包是否有异常行为)

      1 行为检测(这个跟封包检测有相对应的关系,在传送数据包给服务器时服务器所采用的一般就是行为检测和数据检测):行为检测一般要符合程序在某一数据块的运行逻辑,超出或者与逻辑不符合就会被检测出数据异常

      2 封包检测 :游戏在运行时对于要检测的数据会定期有规模的去封装成一个结构数据包传送给服务器,服务器判断数据是否有异常行为

      3 数据检测 :游戏在运行时一般会给程序中的临时变量分配动态储存空间,可以根据其分配内存的地址来修改其游戏运行时的数据,数据变化符合程序所规定的范围就正常显示,反之就不一样,并且数据检测的方案有许多种,如封包、区段值校验等

crc循环冗余码检测方案 :一般分为三种 运行时检测,嵌套检测以及全局检测,这是运用在计算机网络五成协议中的数据传输原理来进行的校验,目的是对于所要进行的检测值在网络封包传输后是否可以被接收方进行正确的校验(crc针对运行时数据的校验,md5针对文件校验码是否匹配)

    因为笔者在这一方面还有很多知识需要去学习,避免不了一些知识性方面出现的问题,如果发现,希望请给予我宝贵的建议,谢谢你们💕04cf6c0c78ab438ca3d9e7a49031b4c9.png

 

           

 

 

 

     

   

 

 

 

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值