一种游戏数据监控方法和装置制造方法及图纸

技术编号:14399552 阅读:44 留言:0更新日期:2017-01-11 12:46
本申请提供了一种游戏数据监控方法和装置,本方案在被监控的游戏应用启动时,向该游戏应用的游戏进程中注入对象获取函数,以通过对象获取函数捕获游戏进程运行中构建的游戏对象的数据;且在获取游戏对象数据之后,如果检测到对所述游戏对象数据的修改指令,确定该修改指令所请求修改的目标游戏对象、目标游戏对象中待修改的至少一个目标属性以及目标属性的目标属性值,并通过调用游戏进程的属性修改接口,将游戏进程中的该目标游戏对象的该目标属性的属性值修改为该目标属性值。本方案有利于及时发现游戏中存在的安全漏洞,提高内存数据的安全性。

【技术实现步骤摘要】

本申请涉及游戏
,特别涉及一种游戏数据监控方法和装置
技术介绍
游戏外挂是指利用软件技术针对一款或多款游戏,通过改变游戏软件的部分程序制作而成的作弊程序。一种较为常见的作弊程序是通过篡改游戏客户端的内存数据,来实现游戏外挂。实现游戏外挂的作弊程序大大影响到了游戏中内存数据的安全性,因此如何降低游戏内存数据被篡改的风险,提高游戏中内存数据的安全性是本领域技术人员需要解决的技术问题。
技术实现思路
本申请提供了一种游戏数据监控方法和装置,以及时发现游戏中存在的内存数据被篡改的安全漏洞,提高内存数据的安全性。为了解决上述问题,一方面,本申请提供了一种游戏数据监控方法,所述方法包括:在被监控的游戏应用启动时,向所述游戏应用的游戏进程中注入对象获取函数,所述对象获取函数用于捕获所述游戏进程运行中构建的游戏对象的数据;获取所述对象获取函数捕获到的游戏对象数据;当检测到对所述游戏对象数据的修改指令时,确定所述修改指令所请求修改的目标游戏对象、所述目标游戏对象中待修改的至少一个目标属性以及所述目标属性的目标属性值;通过调用所述游戏进程的属性修改接口,将所述游戏进程中的所述目标游戏对象的所述目标属性的属性值修改为所述目标属性值。另一方面,本申请实施例还提供了一种游戏数据监控装置,所述装置包括:第一函数注入单元,用于在被监控的游戏应用启动时,向所述游戏应用的游戏进程中注入对象获取函数,所述对象获取函数用于捕获所述游戏进程运行中构建的游戏对象的数据;对象数据获取单元,用于获取所述对象获取函数捕获到的游戏对象数据;数据修改确定单元,用于当检测到对所述游戏对象数据的修改指令时,确定所述修改指令所请求修改的目标游戏对象、所述目标游戏对象中待修改的至少一个目标属性以及所述目标属性的目标属性值;数据修改执行单元,用于通过调用所述游戏进程的属性修改接口,将所述游戏进程中的所述目标游戏对象的所述目标属性的属性值修改为所述目标属性值。由以上可知,本申请中通过向游戏的游戏进程中注入对象获取函数,可以通过该对象获取函数自动获取游戏应用运行过程中内存中产生的游戏对象数据,通过执行对游戏对象数据的该修改指令,自动对游戏应用的内存中相应游戏对象的数据进行修改,以实现监控游戏中是否存在内存数据被修改的漏洞,从而可以及时定位出游戏中存在的安全漏洞,从而可以有利于提高游戏中内存数据的安全性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请一种游戏数据监控方法一个实施例的流程示意图;图2示出了本申请一种游戏数据监控方法又一个实施例的流程示意图;图3示出了本申请一种游戏数据监控系统一个实施例的组成结构示意图;图4示出了本申请一种游戏数据监控方法又一个实施例的流程示意图;图5示出了本申请一种游戏数据监控方法应用于一种应用场景中的流程示意图;图6a为本申请中监控应用的主界面的一种示意图;图6b为监控应用输出的用于提示用户绑定浏览器客户端的提示页面的一种示意图;图6c为web服务器返回的包含有浏览器客户端的二维码标识的页面示意图;图7a、7b和7c分别指出了浏览器客户端展现游戏对象数据的三种页面示意图;图8示出了在修改手游中游戏对象的属性值之后的一种游戏界面示意图;图9示出了本申请一种游戏数据监控装置一个实施例的组成结构示意图;图10示出了本申请一种终端一个实施例的硬件架构示意图。具体实施方式本专利技术可能使用的技术名词、简写或缩写如下:游戏外挂:指利用软件技术针对一个或多个网络游戏,通过改变软件的部分程序制作而成的作弊程序,使用游戏外挂通常得到可以非法获益的效果。手游:手机游戏,相对于运行在PC机上的游戏而言,主要是指运行在终端及平台上的游戏。.NET:微软开发的一套跨平台技术。C#:微软开发的程序设计语言。unity3d:一套游戏开发工具,是全面整合的专业游戏引擎,目前大部分手游都是unity3d引擎开发的。mono:一款开源的虚拟机,微软的.NET技术的开源实现,其中,unity3d引擎开发的游戏主要使用c#语言,c#代码就是在mono虚拟机中运行的。monoProfile:mono虚拟机内集成了profiler工具,profiler工具可以采集mono虚拟机运行时数据,profiler工具主要用于提供给程序开发人员做性能分析,也可以通过profilerAPI对profiler进行配置。构造函数:主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。事件的回调函数:回调函数是一个通过函数指针调用的函数。如果把函数的指针(或者说地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。hook:钩子,一种计算机技术,在没有源码的情况下,通过汇编的跳转指令实现修改目标函数的执行流程。API,应用程序编程接口。本申请实施例的游戏数据监控方法适用于任意终端上运行的游戏内存安全测试,以实现监控游戏是否存在内存安全漏洞。如,本申请实施例的游戏数据监控方法适用于对手机上的任意一款手游以及个人计算机上运行的任意一款游戏进行内存数据的安全监控。本专利技术实施例描述的业务场景是为了更加清楚的说明本专利技术实施例的技术方案,并不构成对于本专利技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本专利技术实施例提供的技术方案对于类似的技术问题,同样适用。本申请的游戏数据监控方法应用于安装有至少一款游戏应用的终端,且适用于对终端上任意一款游戏进行监控。在终端上任意一款需要被监控的游戏应用启动时,终端可以向该游戏应用的游戏进程中注入对象获取函数,以通过该对象获取函数捕获到游戏进程运行中创建的游戏对象数据;当终端检测到对游戏对象数据的修改指令时,基于该修改指令所请求修改的目标游戏对象、目标游戏对象中待修改的至少一个目标属性以及该目标属性的目标属性值,调用该游戏应用的属性修改接口,将该游戏进程中创建的该目标游戏对象的目标属性的属性值修改为该目标属性值。在本申请实施例中,通过向游戏的游戏进程中注入对象获取函数,可以通过该对象获取函数自动获取游戏应用运行过程中内存内产生的游戏对象数据,从而可以及时高效的获取游戏应用中产生的游戏对象数据,有利于及时对游戏应用中的内存数据进行监控。而且,当终端检测到针对该游戏应用中游戏对象数据的修改指令之后,可以依据该修改指令自动对游戏应用的内存中相应游戏对象的数据进行修改,这样,根据游戏应用中对游戏对象数据的修改是否生效,便可以判断游戏应用是否存在无法防御内存数据被修改的安全漏洞,从而可以及时准确的定位出游戏中存在的安全漏洞,进而有利于提高游戏中内存数据的安全性。另外,在监控游戏应用的是否存在安全漏洞的过程中,无需手动在游戏应用的内存中搜索特定数值,也避免了手动去游戏应用的内存中定位需要修改的数据并手动进行数值修改,从本文档来自技高网...
一种游戏数据监控方法和装置

【技术保护点】
一种游戏数据监控方法,其特征在于,所述方法包括:在被监控的游戏应用启动时,向所述游戏应用的游戏进程中注入对象获取函数,所述对象获取函数用于捕获所述游戏进程运行中构建的游戏对象的数据;获取所述对象获取函数捕获到的游戏对象数据;当检测到对所述游戏对象数据的修改指令时,确定所述修改指令所请求修改的目标游戏对象、所述目标游戏对象中待修改的至少一个目标属性以及所述目标属性的目标属性值;通过调用所述游戏进程的属性修改接口,将所述游戏进程中的所述目标游戏对象的所述目标属性的属性值修改为所述目标属性值。

【技术特征摘要】
1.一种游戏数据监控方法,其特征在于,所述方法包括:在被监控的游戏应用启动时,向所述游戏应用的游戏进程中注入对象获取函数,所述对象获取函数用于捕获所述游戏进程运行中构建的游戏对象的数据;获取所述对象获取函数捕获到的游戏对象数据;当检测到对所述游戏对象数据的修改指令时,确定所述修改指令所请求修改的目标游戏对象、所述目标游戏对象中待修改的至少一个目标属性以及所述目标属性的目标属性值;通过调用所述游戏进程的属性修改接口,将所述游戏进程中的所述目标游戏对象的所述目标属性的属性值修改为所述目标属性值。2.根据权利要求1所述的方法,其特征在于,所述向所述游戏应用的游戏进程中注入对象获取函数,包括:向所述游戏进程中的构造函数的出口处插入所述对象获取函数。3.根据权利要求1所述的方法,其特征在于,在所述获取所述对象获取函数捕获到的游戏对象数据之后,还包括:将所述游戏对象数据输出到指定界面进行显示;所述检测到对所述游戏对象数据的修改指令,包括:通过所述指定界面获取到对所述游戏对象数据的修改指令。4.根据权利要求3所述的方法,其特征在于,所述将所述游戏对象数据输出到指定界面进行显示,包括:将所述游戏对象数据发送给指定的浏览器客户端,以在所述浏览器客户端显示出包含所述游戏对象数据的页面;所述通过所述指定界面获取到对所述游戏对象数据的修改指令,包括:接收所述浏览器客户端发送的修改指令,所述修改指令为所述浏览器客户端依据所述页面上感应到的针对所述游戏对象数据的修改操作,生成的指令。5.根据权利要求4所述的方法,其特征在于,将所述游戏对象数据发送给指定的浏览器客户端,包括:将获取到的所述游戏对象数据发送给监控服务器,以由所述监控服务器通过网页服务器将所述游戏对象数据传输给所述浏览器客户端,实现在所述浏览器客户端同步显示包含所述游戏对象数据的页面。6.根据权利要求3所述的方法,其特征在于,所述将所述游戏对象数据输出到指定界面进行显示,包括:将所述游戏对象数据中包含的至少一个游戏对象的名称,输出到所述指定界面进行显示;当获取到用户在所述指定界面中选择目标游戏对象的名称时,从当前获取到的游戏对象数据中获取所述目标游戏对象的属性集合以及所述属性集合中各个属性的属性值;将所述目标游戏对象属性集合以及所述属性集合中各个属性的属性值输出到所述指定界面进行显示;所述获取到用户通过所述指定界面输入的修改指令,包括:获取到用户对所述指定界面中所述属性集合中至少一个目标属性的修改指令。7.根据权利要求1至6任一项所述的方法,其特征在于,在所述向所述游戏应用的游戏进程中注入对象获取函数的同时,还包括:向所述游戏应用的游戏进程中注入销毁回收函数,所述销毁回收函数用于捕获所述游戏进程运行中被销毁的游戏对象的数据;则在所述获取所述对象获取函数捕获到的游戏对象数据之后,还包括:获取所述销毁回收函数捕获到的所述被销毁的游戏对象的数据;依据所述被销毁的游戏对象的数据,更新获取到的所述游戏对...

【专利技术属性】
技术研发人员:王枭王建行刘俊辉魏学峰彭斌徐宇挺罗德志周洪斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1