游戏数据的校验方法及装置制造方法及图纸

技术编号:15045254 阅读:131 留言:0更新日期:2017-04-05 17:47
本发明专利技术公开了一种游戏数据的校验方法及装置。其中,该方法包括:从第一内存地址获取游戏数据的当前取值,以及从一个或多个第二内存地址中获取与当前取值匹配的校验值集合;将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,对当前取值进行校验。本发明专利技术解决了相关技术中在游戏的单机模式下,由于缺少服务器对游戏数据的强校验,存在着游戏数据被非法篡改的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种游戏数据的校验方法及装置
技术介绍
近些年来,随着移动通信技术以及互联网技术的飞速发展,移动互联网应运而生并呈现出井喷式的发展态势。人们可以通过各种各样的便携式终端(例如:智能手机、可穿戴设备)随时随地地访问互联网。大量的手机游戏在移动互联网的浪潮中不断涌现,成为了游戏领域中发展最为迅速的部分。手机游戏相比于传统的个人计算机(Personalcomputer,简称为PC,其为由硬件系统和软件系统组成,其为一种能够独立运行,完成特定功能的设备)游戏而言,具有不受地域限制的特点,人们可以通过掌上的智能手机随时随地地玩游戏,进而得到休闲娱乐的效果。随着移动网络通信技术(例如:第三代移动通信技术(3G),第四代移动通信技术(4G))的建设与发展,市场上也出现了各式各样的联网类手机游戏。这类手机游戏由于移动网络的限制(例如:信号不稳定、网速、流量资费),在游戏开发的过程中,通常会在游戏中添加单机模式,以提高游戏在网络环境较差时的可玩性,或者达到节省玩家在玩游戏时所耗费的网络流量的目的。而单机模式由于缺少服务器对游戏运行时的数据的强校验,故而会存在客户端执行作弊操作的问题,即游戏数据被非法篡改。目前,在相关技术中提供了多种对游戏客户端进行作弊检测的方法。对于网络游戏而言,可以通过客户端发送数据与服务端中储存的数据进行校验,根据校验结果可以判断客户端是否存在篡改游戏数据的作弊行为。而对于单机游戏或者单机模式而言,由于缺少服务器对客户端数据的强校验,故而为游戏客户端的作弊检测带来了极大地困难。内存(Memory)是计算机中重要的部件之一,其是与中央处理器(CPU)进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此,内存的性能对计算机的影响非常重要。内存的作用在于暂时存放CPU中的运算数据以及与硬盘等外部存储器交换的数据。只要在计算机运行过程中,CPU便会将需要运算的数据调入至内存中进行运算。当运算完成后,CPU再将运算结果传送出来,因此,内存的运行能够决定计算机的稳定运行。在通常情况下,修改游戏客户端中的数据首先需要使用一些内存扫描工具(例如:金山游侠、八门神器)通过若干次对游戏数值的扫描定位出游戏数据所在的内存地址,然后通过修改该内存地址上的取值,从而达到篡改游戏数据的目的。现有的解决方案可以通过修改游戏数据在底层的二进制储存格式(例如:更改游戏数据的二进制的排列顺序)提高内存扫描工具定位游戏数据所在的内存地址的难度,从而达到在一定程度上防止游戏客户端作弊的目的。然而,通过修改游戏数据在底层的二进制储存格式的防作弊解决方案会存在以下问题:由于需要修改游戏数据在底层的二进制储存格式,在程序实现的过程中,通常需要将上述流程在游戏的底层(例如:引擎层)中加以实现。因此,一旦游戏数据被破解后,修改该流程存在较大难度。不仅如此,因为游戏数据在底层的二进制格式发生了变化,在对游戏进行调试的过程中,会为开发者带来一定程度的不便。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种游戏数据的校验方法及装置,以至少解决相关技术中在游戏的单机模式下,由于缺少服务器对游戏数据的强校验,存在着游戏数据被非法篡改的技术问题。根据本专利技术实施例的一个方面,提供了一种游戏数据的校验方法,包括:从第一内存地址获取游戏数据的当前取值,以及从一个或多个第二内存地址中获取与当前取值匹配的校验值集合;将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,对当前取值进行校验。进一步地,将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,对当前取值进行校验包括:将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,获取校验函数的验证结果;如果获取到的验证结果与预设的校验结果相同,确定游戏数据未被篡改;如果获取到的验证结果与预设的校验结果不同,确定游戏数据已被篡改。进一步地,在确定游戏数据已被篡改之后,还包括:接收来自于服务器的控制指令;根据控制指令从游戏客户端中预先设置的多个校验函数中重新选取校验函数。进一步地,校验值集合中的每个校验值的生成方式包括以下之一:在移动终端安装游戏客户端后,随机生成校验值集合中的每个校验值;向服务器发起请求消息,并通过请求消息获取服务器随机生成的校验值集合中的每个校验值。进一步地,在对当前取值进行校验之后,还包括:判断在第一内存地址处是否写入更新数值;如果是,则在将当前取值替换为更新数值的同时,将校验值集合更新为与更新数值匹配的校验值集合。根据本专利技术实施例的另一方面,还提供了一种游戏数据的校验装置,包括:获取模块,用于从第一内存地址获取游戏数据的当前取值,以及从一个或多个第二内存地址中获取与当前取值匹配的校验值集合;校验模块,用于将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,对当前取值进行校验。进一步地,校验模块包括:获取单元,用于将当前取值和校验值集合作为校验函数的输入参数,或者,将当前取值,校验值集合以及预设常量作为校验函数的输入参数,获取校验函数的验证结果;第一确定单元,用于在获取到的验证结果与预设的校验结果相同时,确定游戏数据未被篡改;第二确定单元,用于在获取到的验证结果与预设的校验结果不同时,确定游戏数据已被篡改。进一步地,上述装置还包括:接收模块,用于接收来自于服务器的控制指令;选取模块,用于根据控制指令从游戏客户端中预先设置的多个校验函数中重新选取校验函数。进一步地,校验值集合中的每个校验值的生成方式包括以下之一:在移动终端安装游戏客户端后,随机生成校验值集合中的每个校验值;向服务器发起请求消息,并通过请求消息获取服务器随机生成的校验值集合中的每个校验值。进一步地,上述装置还包括:判断模块,用于判断在第一内存地址处是否写入更新数值;更新模块,用于在判断模块输出为是时,在将当前取值替换为更新数值的同时,将校验值集合更新为与更新数值匹配的校验值集合。在本专利技术实施例中,采用多内存地址对游戏数据进行保护的方式,通过将从第一内存地址获取的当前取值以及从一个或多个第二内存地址中获取的校验值集合作为校验函数的输入参数,或者,将当前取本文档来自技高网
...

【技术保护点】
一种游戏数据的校验方法,其特征在于,包括:从第一内存地址获取游戏数据的当前取值,以及从一个或多个第二内存地址中获取与所述当前取值匹配的校验值集合;将所述当前取值和所述校验值集合作为校验函数的输入参数,或者,将所述当前取值,所述校验值集合以及预设常量作为校验函数的输入参数,对所述当前取值进行校验。

【技术特征摘要】
1.一种游戏数据的校验方法,其特征在于,包括:
从第一内存地址获取游戏数据的当前取值,以及从一个或多个第二内存地址
中获取与所述当前取值匹配的校验值集合;
将所述当前取值和所述校验值集合作为校验函数的输入参数,或者,将所述
当前取值,所述校验值集合以及预设常量作为校验函数的输入参数,对所述当前
取值进行校验。
2.根据权利要求1所述的方法,其特征在于,将所述当前取值和所述校验值集合作
为校验函数的输入参数,或者,将所述当前取值,所述校验值集合以及预设常量
作为校验函数的输入参数,对所述当前取值进行校验包括:
将所述当前取值和所述校验值集合作为校验函数的所述输入参数,或者,将
所述当前取值,所述校验值集合以及预设常量作为校验函数的所述输入参数,获
取所述校验函数的验证结果;
如果获取到的验证结果与预设的校验结果相同,确定所述游戏数据未被篡改;
如果所述获取到的验证结果与所述预设的校验结果不同,确定所述游戏数据
已被篡改。
3.根据权利要求2所述的方法,其特征在于,在确定所述游戏数据已被篡改之后,
还包括:
接收来自于服务器的控制指令;
根据所述控制指令从游戏客户端中预先设置的多个校验函数中重新选取校验
函数。
4.根据权利要求1所述的方法,其特征在于,所述校验值集合中的每个校验值的生
成方式包括以下之一:
在移动终端安装游戏客户端后,随机生成所述校验值集合中的每个校验值;
向服务器发起请求消息,并通过所述请求消息获取所述服务器随机生成的所
述校验值集合中的每个校验值。
5.根据权利要求1所述的方法,其特征在于,在对所述当前取值进行校验之后,还

\t包括:
判断在所述第一内存地址处是否写入更新数值;
如果是,则在将所述当前取值替换为所述更新数值的同时,将所述校验值集
合更新为与所述...

【专利技术属性】
技术研发人员:凌聪
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1