一种游戏代码校验的方法及游戏客户端、系统的制作方法

文档序号:9480061阅读:545来源:国知局
一种游戏代码校验的方法及游戏客户端、系统的制作方法
【技术领域】
[0001]本发明涉及网络游戏领域,具体涉及一种游戏代码校验的方法及游戏客户端、系统。
【背景技术】
[0002]随着网络游戏的逐步普及,以及网络游戏的每年的丰富的利润,游戏外挂软件也由此衍生,但是外挂会影响正常网络游戏玩家的游戏体验和影响游戏运营公司的正常收入,正常游戏玩家和游戏运营公司都非常反感游戏外挂软件。
[0003]但是目前还没有很好的方法能够有效的防止游戏外挂软件,不能很好的维护正常游戏玩家和游戏运营公司的利益。

【发明内容】

[0004]本发明主要解决的技术问题是提供一种游戏代码校验的方法及客户端、系统,能够有效防止修改代码类的游戏外挂,提升游戏玩家体验,让游戏更好的运营。
[0005]第一方面,本发明实施例提供一种游戏代码校验方法,所述方法包括:游戏启动后,获取需要校验的游戏的至少一个组件名称,所述组件为所述游戏下的功能组件;调用代码校验函数,对所述组件的代码段进行校验;若所述组件的代码段校验通过,保持对应的游戏玩家账号正常游戏,若所述组件的代码段校验未通过,将所述游戏玩家信息上报服务器,以待处理。
[0006]其中,所述调用代码校验函数,对所述组件的代码段进行校验包括以下步骤:调用代码校验函数,读取所述组件的文件路径,并按照内存对齐的方式将所述组件的原始代码段加载到内存中;根据预存的物理文件中的可执行文件头,修正所述组件的原始代码段重定位信息;计算修正重定位信息后的所述原始代码段的循环冗余码校验值和所述游戏在内存中正运行的对应组件代码段的循环冗余码校验值;判断两个循环冗余码校验值是否一致;若一致,所述组件的代码段校验通过,否则,所述组件的代码段校验未通过。
[0007]其中,所述调用代码校验函数,对所述组件的代码段进行校验包括:调用代码校验函数,将所述组件的代码段分成多个子代码段,按照预定规则分别对至少部分所述子代码段进行校验。
[0008]其中,所述需要校验游戏的组件为多个。
[0009]其中,游戏启动后,获取需要校验的游戏的至少一个组件名称包括:游戏启动后,每隔预定时间获取需要校验的游戏的至少一个组件名称。
[0010]第二方面,提供一种游戏代码校验方法,所述方法包括:游戏启动后,客户端获取需要校验的游戏的至少一个组件名称,所述组件为所述游戏下的功能组件;调用代码校验函数,对所述组件的代码段进行校验;若所述组件的代码段校验通过,保持对应的游戏玩家账号正常游戏,若所述组件的代码段校验未通过,将所述游戏玩家信息上报服务器;所述服务器接收所述游戏玩家信息,对所述游戏玩家进行处理,以使所述游戏玩家不能正常进行游戏。
[0011]第三方面,提供一种游戏客户端,所述游戏客户端包括获取模块、校验模块以及控制模块,其中:所述获取模块用于在游戏启动后,获取需要校验的游戏的至少一个组件名称,所述组件为所述游戏下的功能组件;所述校验模块用于调用代码校验函数,对所述组件的代码段进行校验;所述控制模块用于在所述组件的代码段校验通过时,保持对应的游戏玩家账号正常游戏,在所述组件的代码段校验未通过时,控制将所述游戏玩家信息上报服务器,以待处理。
[0012]其中,所述校验模块包括加载单元、修正单元、计算单元、判断单元以及指示单元,其中:所述加载单元用于调用代码校验函数,读取所述组件的文件路径,并按照内存对齐的方式将所述组件的原始代码段加载到内存中;所述修正单元用于根据预存的物理文件中的可执行文件头,修正所述组件的原始代码段重定位信息;所述计算单元用于计算修正重定位信息后的所述原始代码段的循环冗余码校验值和所述游戏在内存中正运行的对应组件代码段的循环冗余码校验值;所述判断单元用于判断所述计算单元计算得到的两个循环冗余码校验值是否一致;所述指示单元用于在所述判断单元判断到两个循环冗余码校验值一致时,指示所述组件的代码段校验通过,否则,指示所述组件的代码段校验未通过。
[0013]其中,所述校验模块通过调用代码校验函数,将所述组件的代码段分成多个子代码段,按照预定规则分别对至少部分所述子代码段进行校验。
[0014]其中,所述需要校验游戏的组件为多个。
[0015]其中,所述获取模块在游戏启动后,每隔预定时间获取需要校验的游戏的至少一个组件名称。
[0016]第四方面,提供一种游戏系统,所述游戏系统包括游戏客户端以及服务器,其中,所述客户端包括获取模块、校验模块以及控制模块,其中:所述获取模块用于在游戏启动后,获取需要校验的游戏的至少一个组件名称,所述组件为所述游戏下的功能组件;所述校验模块用于调用代码校验函数,对所述组件的代码段进行校验;所述控制模块用于在所述组件的代码段校验通过时,保持对应的游戏玩家账号正常游戏,在所述组件的代码段校验未通过时,控制将所述游戏玩家信息上报服务器;所述服务器包括接收模块和处理模块,其中:所述接收模块用于接收所述游戏玩家信息;所述处理模块用于根据所述游戏玩家信息对所述游戏玩家进行处理,以使所述游戏玩家不能正常进行游戏。
[0017]本发明的有益效果是:区别于现有技术的情况,本发明通过游戏启动后,客户端获取需要校验的游戏的至少一个组件名称,调用代码校验函数,对组件的代码段进行校验,若组件的代码段校验通过,保持对应的游戏玩家账号正常游戏,否则,将所述游戏玩家信息上报服务器,以待处理。通过这样的方式,能够通过代码校验的方式,来校验游戏组件的代码是否被修改,在游戏组件的代码校验没有通过时,即通过服务器对游戏玩家进行处理。从而能够有效的防止修改代码类游戏外挂软件,提高游戏玩家的游戏体验和保证游戏运营公司的正常收入。
【附图说明】
[0018]图1是本发明实施例提供的一种游戏代码校验方法的流程图;
[0019]图2是本发明实施例提供的调用代码校验函数,对组件的代码段进行校验的流程图;
[0020]图3是本发明实施例提供的另一种游戏代码校验方法的流程图;
[0021]图4是本发明实施例提供的一种游戏客户端的结构示意图;
[0022]图5是本发明实施例提供的游戏客户端的校验模块的结构示意图;
[0023]图6是本发明实施例提供的一种游戏系统的结构示意图。
【具体实施方式】
[0024]首先,介绍一下本发明的应用场景和实际需求。
[0025]网络游戏,英文名称为Online Game,又称“在线游戏”,简称“网游”。指以互联网为传输媒介,以游戏运营商服务器和用户计算机为处理终端,以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性多人在线游戏。
[0026]网络游戏一般采用C/S结构,客户端负责绘制游戏世界的实时画面,服务器端则负责响应所有客户端的连接请求和游戏逻辑处理,并控制所有客户端的画面绘制,客户端与服务器通过网络数据包交互完成每一步游戏逻辑。
[0027]本发明的是在上述系统架构中实现的。
[0028]现有的网络游戏中,出现很多游戏外挂软件,所谓外挂是指利用电脑技术针对一个或多个网络游戏,通过改变游戏软件的部分程序制作而成的作弊程序。外挂软件给部分玩家带来刺激与兴奋之后,也破坏了游戏规则,这类的外挂已经严重影响了游戏的公平性,致使其他玩家无法与使用外挂的玩家进行抗衡,于是越来越多的玩家离开了游戏,网络游戏的运营商也逐步丧失了市场。因此外挂软件损害了玩家的利益也损害了运营商的利益,从某种程度上说也破坏了网络经济的健康发展。
[0029]本发明即是提供一种游戏代码校验方法,通过在游戏启动后,获取需要校验的游戏的至少一个组件名称,调用代码校验函数,对组件的代码段进行校验,若组件的代码段校验通过,保持对应的游戏玩家账号正常游戏,否则,将所述游戏玩家信息上报服务器,以待处理。通过这样的方式,能够通过代码校验的方式,来校验游戏组件的代码是否被修改,在游戏组件的代码校验没有通过时,即通过服务器对游戏玩家进行处理。从而能够有效的防止修改代码类游戏外挂软件,提高游戏玩家的游戏体验和保证游戏运营公司的正常收入。
[0030]以下结合附图和实施方式对本发明进行详细说明。
[0031]请参阅图1,图1是本发明实施例提供的一种游戏代码校验方法的流程图,本实施例以游戏客户端作为执行主体来进行描述,如图所示,本实施例的游戏代码校验方法包括以下步骤:
[0032]S10:游戏启动后,获取需要校验的游戏的至少一个组件名称。
[0033]这里组件是指实现游戏特定功能的功能组
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1