一种检测游戏所处运行环境的方法及系统与流程

文档序号:14876605发布日期:2018-07-07 07:15阅读:699来源:国知局

本发明涉及游戏反外挂技术领域,特别是涉及一种检测游戏所处运行环境的方法及系统。



背景技术:

游戏作为一种人们休闲时经常选取的娱乐活动,因其趣味性和竞技性正在被越来越多的人喜爱。为了保证游戏环境的公平性,很多游戏是禁止游戏玩家实现游戏客户端的多开的。但在实际应用中,仍存在部分游戏玩家为了自身的利益通过各种方式来实现游戏客户端的多开,最为常见的一种方式是通过虚拟机软件来实现游戏客户端的多开,从而严重有损了游戏环境的公平性。

为防止游戏玩家通过虚拟机软件来实现游戏客户端的多开,考虑到游戏程序在真实机中走的帧数通常比这些程序在虚拟机中走的帧数要少,现有技术中常用的做法是通过cpu帧数或者频率来判断游戏程序是否运行在虚拟机环境中,但该种检测方式一方面占用cpu资源较多;另一方面,考虑到各个cpu本身的差异性及其工作过程中可能会出现卡顿的问题,使得误判率较高,可靠性低,从而影响了游戏玩家的体验。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种检测游戏所处运行环境的方法及系统,一方面,占用很少的cpu资源;另一方面,降低了误判率,可靠性高,提高了游戏玩家的体验,保证了游戏环境的公平性。

为解决上述技术问题,本发明提供了一种检测游戏所处运行环境的方法,包括:

获取游戏程序当前所处的运行环境中的硬件指纹;其中,所述硬件指纹为在所述游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且所述硬件指纹区别于所述硬件驱动的描述信息;

将所述硬件指纹与预设数据库进行比对,判断所述预设数据库中是否存在与所述硬件指纹匹配的虚拟机特征信息,如果是,则确定所述游戏程序当前所处的运行环境为虚拟机运行环境。

优选地,所述硬件指纹为显卡特征关键字;

则所述预设数据库中包括各类型虚拟机的显卡特征关键字。

优选地,所述获取游戏程序当前所处的运行环境中的硬件指纹的过程具体为:

通过调用windows管理规范wmi接口来获取游戏程序当前所处的运行环境中的显卡特征关键字。

优选地,所述预设数据库中包括vmware和virtualbox。

优选地,所述硬件指纹为硬盘特征关键字;

则所述预设数据库中包括各类型虚拟机的硬盘特征关键字。

优选地,所述获取游戏程序当前所处的运行环境中的硬件指纹的过程具体为:

通过调用setupapi接口来获取游戏程序当前所处的运行环境中的硬盘特征关键字。

优选地,所述预设数据库中包括vmware、virtualbox和virtual_hd。

优选地,在确定所述游戏程序当前所处的运行环境为虚拟机运行环境后,该方法还包括:

关闭所述游戏程序。

为解决上述技术问题,本发明还提供了一种检测游戏所处运行环境的系统,包括:

获取单元,用于获取游戏程序当前所处的运行环境中的硬件指纹;其中,所述硬件指纹为在所述游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且所述硬件指纹区别于所述硬件驱动的描述信息;

判断单元,用于将所述硬件指纹与预设数据库进行比对,判断所述预设数据库中是否存在与所述硬件指纹匹配的虚拟机特征信息,如果是,则生成触发信号;

确定单元,用于在接收到所述触发信号后,确定所述游戏程序当前所处的运行环境为虚拟机运行环境。

优选地,所述硬件指纹为显卡特征关键字;

则所述预设数据库中包括各类型虚拟机的显卡特征关键字。

优选地,所述硬件指纹为硬盘特征关键字;

则所述预设数据库中包括各类型虚拟机的硬盘特征关键字。

本发明提供了一种检测游戏所处运行环境的方法,包括获取游戏程序当前所处的运行环境中的硬件指纹;其中,硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且硬件指纹区别于硬件驱动的描述信息;将硬件指纹与预设数据库进行比对,判断预设数据库中是否存在与硬件指纹匹配的虚拟机特征信息,如果是,则确定游戏程序当前所处的运行环境为虚拟机运行环境。

可见,本申请中通过获取运行环境中的硬件指纹并将其与预设数据库进行比对,从而确定游戏程序当前所处的运行环境是否为虚拟机运行环境,首先,获取硬件指纹和比对的过程只占用很少的cpu资源;其次,因为本申请中的硬件指纹与硬件驱动的描述信息不同,降低了误将游戏程序当前所处的运行环境判定为真实机运行环境的概率,可靠性高;另外,因为可以预先确定各虚拟机正确的特征信息,后续只需将实际获取的硬件指纹与各虚拟机特征信息进行比对,便可直接得到游戏程序当前所处的运行环境是否为虚拟机运行环境,进一步降低了误判率,提高了可靠性及游戏玩家的体验;最后,由于本申请中的硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,从而避免了游戏玩家仅通过修改硬件指纹就能实现游戏客户端多开的情况出现,进一步提高了可靠性,保证了游戏环境的公平性。

本发明提供的一种检测游戏所处运行环境的系统同样具有如上有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种检测游戏所处运行环境的方法的过程的流程图;

图2为本发明提供的一种检测游戏所处运行环境的系统的结构示意图。

具体实施方式

本发明的核心是提供一种检测游戏所处运行环境的方法及系统,一方面,占用很少的cpu资源;另一方面,降低了误判率,可靠性高,提高了游戏玩家的体验,保证了游戏环境的公平性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种检测游戏所处运行环境的方法的过程的流程图,该方法包括:

步骤s11:获取游戏程序当前所处的运行环境中的硬件指纹;其中,硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且硬件指纹区别于硬件驱动的描述信息;

首先需要说明的是,硬件指纹指的是程序运行环境中的一些必然存在的硬件信息。另外,每个用于反外挂的游戏检测方法在实现特定目的前都有一个基本前提:确保游戏玩家不会轻易避开游戏检测方法。

本申请为了尽可能的确保游戏玩家不会轻易的避开游戏检测方法,这里选取的硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,这样,游戏玩家就不能仅仅通过修改硬件指纹(例如mac地址)就能实现避开本申请提供的检测方法而实现游戏客户端的多开。因为对于在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹来说,只修改硬件指纹而不相适应的修改硬件驱动是没用的,游戏程序是无法正常运行的。而要实现在修改了硬件指纹后还能相适应地修改与该硬件指纹对应的硬件驱动,这样的技术如果不知专业技术人员,普通游戏玩家是无法做到的。

另外,考虑到存在一些硬件指纹,例如网卡信息,其在虚拟机中的信息与其在真实机中的信息是一样的,这样,便不能通过其判断游戏当前所处的运行环境是否为虚拟机运行环境,否则,误判率会很高。本申请为了降低误判率,选取的硬件指纹还要求其区别于对应的硬件驱动的描述信息,这样就能够唯一确定该游戏程序当前所处的运行环境是虚拟机运行环境还是真实机运行环境,准确率和可靠性高。

步骤s12:将硬件指纹与预设数据库进行比对,判断预设数据库中是否存在与硬件指纹匹配的虚拟机特征信息,如果是,则进入步骤s13;

步骤s13:确定游戏程序当前所处的运行环境为虚拟机运行环境。

具体地,这里的预设数据库可以预先建立,预先搜集各个虚拟机中的标准硬件指纹,也即本申请中提到的与硬件指纹匹配的虚拟机特征信息,在后续使用中,当出现新的虚拟机时,可以再将新的标准硬件指纹增加进去。在实际应用中,只需将获取到的硬件指纹与该预设数据库进行比对,如果在预设数据库中找到与该硬件指纹匹配的虚拟机特征信息,则可判定该游戏程序当前所处的运行环境为虚拟机运行环境,否则,则可判定该游戏程序当前所处的运行环境不是虚拟机运行环境。

另外,在不同的操作系统中,获取游戏程序当前所处的运行环境中的硬件指纹的方式也是不同的,但都只会占用很少的cpu资源,另外,这里的对比过程也只占用很少的cpu资源。

本发明提供了一种检测游戏所处运行环境的方法,包括获取游戏程序当前所处的运行环境中的硬件指纹;其中,硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且硬件指纹区别于硬件驱动的描述信息;将硬件指纹与预设数据库进行比对,判断预设数据库中是否存在与硬件指纹匹配的虚拟机特征信息,如果是,则确定游戏程序当前所处的运行环境为虚拟机运行环境。

可见,本申请中通过获取运行环境中的硬件指纹并将其与预设数据库进行比对,从而确定游戏程序当前所处的运行环境是否为虚拟机运行环境,首先,获取硬件指纹和比对的过程只占用很少的cpu资源;其次,因为本申请中的硬件指纹与硬件驱动的描述信息不同,降低了误将游戏程序当前所处的运行环境判定为真实机运行环境的概率,可靠性高;另外,因为可以预先确定各虚拟机正确的特征信息,后续只需将实际获取的硬件指纹与各虚拟机特征信息进行比对,便可直接得到游戏程序当前所处的运行环境是否为虚拟机运行环境,进一步降低了误判率,提高了可靠性及游戏玩家的体验;最后,由于本申请中的硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,从而避免了游戏玩家仅通过修改硬件指纹就能实现游戏客户端多开的情况出现,进一步提高了可靠性,保证了游戏环境的公平性。

在上述实施例的基础上:

作为一种优选地实施例,硬件指纹为显卡特征关键字;

则预设数据库中包括各类型虚拟机的显卡特征关键字。

在实际应用中,虚拟机在配置了显卡后会添加一个虚拟显卡,该虚拟显卡的描述信息也即显卡特征关键字与真实机中的显卡的描述信息是不同的,因此,可以将其作为本申请中用于判断的硬件指纹。

作为一种优选地实施例,获取游戏程序当前所处的运行环境中的硬件指纹的过程具体为:

通过调用windows管理规范wmi接口来获取游戏程序当前所处的运行环境中的显卡特征关键字。

在不同的操作系统中,获取游戏程序当前所处的运行环境中的显卡特征关键字也是不同的,例如,在windows操作系统中,可以通过调用windows管理规范wmi接口来获取游戏程序当前所处的运行环境中的显卡特征关键字。在linux操作系统中,则可以调用linux操作系统中的相应接口去获取游戏程序当前所处的运行环境中的显卡特征关键字,本申请在此不做特别的限定,根据游戏程序所在操作系统来决定。

作为一种优选地实施例,预设数据库中包括vmware和virtualbox。

具体地,因为硬件指纹为显卡特征关键字,则预设数据库中包括各类型虚拟机的显卡特征关键字,目前常见的虚拟机有vmware和virtualbox,相对应的,预设数据库中包括vmware的显卡特征关键字vmware和virtualbox的显卡特征关键字virtualbox,当然,这里的预设数据库还包括其他的虚拟机的显卡特征关键字,本申请在此不再一一赘述。

作为一种优选地实施例,硬件指纹为硬盘特征关键字;

则预设数据库中包括各类型虚拟机的硬盘特征关键字。

可以理解的是,虚拟机中的硬盘环境都是根据实际硬盘模拟出来的,但虚拟机中的硬盘特征关键字和真实机中的硬盘特征关键字是不同的,因此,可以将其作为本申请中用于判断的硬件指纹。

作为一种优选地实施例,获取游戏程序当前所处的运行环境中的硬件指纹的过程具体为:

通过调用setupapi接口来获取游戏程序当前所处的运行环境中的硬盘特征关键字。

在不同的操作系统中,获取游戏程序当前所处的运行环境中的硬盘特征关键字也是不同的,例如,在windows操作系统中,可以通过调用setupapi接口来获取游戏程序当前所处的运行环境中的硬盘特征关键字。在linux操作系统中,则可以调用linux操作系统中的相应接口去获取游戏程序当前所处的运行环境中的硬盘特征关键字,本申请在此不做特别的限定,根据游戏程序所在操作系统来决定。

作为一种优选地实施例,预设数据库中包括vmware、virtualbox和virtual_hd。

具体地,因为硬件指纹为硬盘特征关键字,则预设数据库中包括各类型虚拟机的硬盘特征关键字,目前常见的虚拟机有vmware和virtualbox,相对应的,预设数据库中包括vmware的硬盘特征关键字vmware和virtualbox的硬盘特征关键字virtualbox,当然,这里的预设数据库还包括其他的虚拟机的硬盘特征关键字,本申请在此不再一一赘述。

作为一种优选地实施例,在确定游戏程序当前所处的运行环境为虚拟机运行环境后,该方法还包括:

关闭游戏程序。

具体地,在确定游戏程序当前所处的运行环境为虚拟机运行环境后,为保证游戏环境的公平性,可以关闭该程序,另外,还可以对该游戏玩家进行不良记录登记甚至永久封号,本申请在此不做特别的限定,根据实际情况来定。

请参照图2,图2为本发明提供的一种检测游戏所处运行环境的系统的结构示意图,该系统包括:

获取单元1,用于获取游戏程序当前所处的运行环境中的硬件指纹;其中,硬件指纹为在游戏程序所在的真实机中包括与其一一对应的硬件驱动的硬件指纹,且硬件指纹区别于硬件驱动的描述信息;

判断单元2,用于将硬件指纹与预设数据库进行比对,判断预设数据库中是否存在与硬件指纹匹配的虚拟机特征信息,如果是,则生成触发信号;

确定单元3,用于在接收到触发信号后,确定游戏程序当前所处的运行环境为虚拟机运行环境。

作为一种优选地实施例,硬件指纹为显卡特征关键字;

则预设数据库中包括各类型虚拟机的显卡特征关键字。

作为一种优选地实施例,硬件指纹为硬盘特征关键字;

则预设数据库中包括各类型虚拟机的硬盘特征关键字。

对于本发明提供的检测游戏所处运行环境的系统的介绍请参照上述实施例,本发明在此不再赘述。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1