本申请是2020年02月26日提交中国专利局、申请号为202010119299.8、发明名称为“一种用于反外挂的方法、装置和系统”的中国专利申请的分案申请。
本申请涉及计算机技术领域,尤其涉及一种用于反外挂的技术方案。
背景技术:
外挂是指通过修改游戏而为玩家谋取利益的作弊程序,其主要应用原理是修改游戏正常代码或数据,从而改变游戏人物能力。由于外挂会破坏游戏公平性,因此外挂检测是十分有必要的。
现有技术中,通常采用如下反外挂方案:建立主流外挂软件的特征库,以及通过对各种恶意行为(如注入游戏进程,试图获得对游戏进程的各种操作权限等)的拦截,来检测外挂软件,并通过主动防御行为,比如禁止外部进程对游戏的读写访问,来实现保护。上述现有技术的方案具有如下缺点:1)需要不停的搜集外挂样本,提取各个外挂样本的特征纳入特征库,这是一个需要不停迭代的过程,如果有新的外挂产生或者已有外挂采用变种技术改换自身特征,都需要技术人员及时跟进,否则反外挂体系就可能失效,而市面上外挂软件品类众多,这使得始终需要投入较多的人力物力来维护特征库;2)需要在系统底层与外挂进行博弈,比如在系统层装载驱动,拦截其对游戏进程的读写,系统底层的技术对抗使反外挂一方处于相对不利的地位,因为一方面底层访问游戏的方式很多,要全部封堵工作量较大,同时有些正常软件可能也有对游戏的访问需要,在复杂多变的用户环境下容易产生误伤,另外系统底层的技术对抗也容易产生不稳定,导致伤害用户;3)现有技术中所采用的主动防御措施采用在客户端及时反馈的方式,比如一旦检测到外挂行为立即禁止其对游戏进程的访问,使得外挂开发者容易本机调试,然后寻找规律以绕开主动防御。
技术实现要素:
本申请的目的是提供一种具有迷惑性和隐蔽性的用于反外挂的技术方案。
根据本申请的一个实施例,提供一种用于反外挂的方法,用于用户设备,其中,所述方法包括:
对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的与所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种用于反外挂的方法,用于第一服务器,其中,所述方法包括:
接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述用户设备中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种用于反外挂的方法,其中,所述方法包括:
用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
所述用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
所述用户设备将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器;
所述第一服务器接收来自所述用户设备的与所述游戏阶段对应的反外挂游戏数据信息;
所述第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种在用户设备中用于反外挂的第一装置,其中,所述第一装置包括:
用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息的装置;
用于当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
根据本申请的另一个实施例,还提供了一种在服务器中用于反外挂的第二装置,其中,所述第二装置包括:
用于接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
根据本申请的另一个实施例,还提供了一种用于反外挂的系统,包括用户设备和服务器,所述用户设备包括本申请所述的第一装置,所述服务器包括本申请所述的第二装置。
根据本申请的另一个实施例,还提供了一种设备,其中,所述设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如下操作:
对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的与所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种设备,其中,所述设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如下操作:
接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如下操作:
对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的与所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。
根据本申请的另一个实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如下操作:
接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
与现有技术相比,本申请具有以下优点:1)在游戏应用内部(如关键函数或关键内存数据区)设置了预设检测点,以通过对预设检测点进行监控并上报外挂特征信息来实现外挂检测,由此能够实现以不变应万变的反外挂思想,即便出现新的外挂,也必须经过预设检测点所监控的链路获取、篡改游戏数据,这使得反外挂一方并不需要频繁的跟进外挂软件本身的特征去做检测,从而极大的降低了反外挂一方的技术维护成本;2)采用了迷惑性、隐蔽性的反外挂机制,通过按照游戏阶段进行反外挂游戏数据信息上报的方式,由于在阶段性上报的正常游戏数据信息中混入了外挂特征信息,使得不容易引起外挂开发者的注意,另外由于反外挂游戏数据信息中同时包括正常游戏数据信息和外挂特征信息,这能够极大地增加外挂开发者伪造数据包的难度,外挂开发者很难对阶段性上报的反外挂游戏数据信息进行修改或拦截;3)采用了延迟惩罚机制,在用户设备端并不会在检测到外挂行为时对外挂软件做任何阻止和警告,而是在每个游戏阶段结束时将该游戏阶段中在预设检测点检测到的外挂特征信息上报至服务器端,由服务器端来判定用户设备端是否存在外挂行为、决定是否惩罚以及如何惩罚,也即由服务器端对使用外挂的玩家进行延迟惩罚,这种延迟惩罚方式使得外挂开发者难以确认究竟是外挂软件中的哪些行为特征触发了安全警报,从而极大的增加了外挂开发者调试外挂软件以回避侦测的难度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了本申请一个实施例的在用户设备中用于反外挂的方法的流程示意图;
图2示出了本申请一个实施例的在服务器中用于反外挂的方法的流程示意图;
图3示出了本申请一个实施例的用于反外挂的系统方法的流程示意图;
图4示出了本申请一个实施例的在用户设备中用于反外挂的第一装置的结构示意图;
图5示出了本申请一个实施例的在服务器中用于反外挂的第二装置的结构示意图;
图6示出了可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“设备”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)等硬件执行预定处理过程,或是由上述二者组合来实现。
本申请的技术方案主要由计算机设备来实现。其中,所述计算机设备包括网络设备和用户设备。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于pc机、平板电脑、智能手机、iptv、pda、可穿戴设备等。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络、无线自组织网络(adhoc网络)等。
需要说明的是,上述计算机设备仅为举例,其他现有的或今后可能出现的计算机设备如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请作进一步详细描述。
图1示出了本申请一个实施例的在用户设备中用于反外挂的方法的流程示意图。本实施例的方案主要由用户设备来实施。需要说明的是,在本实施例的方法执行之前,所述用户设备中已安装有游戏应用和电竞客户端,且所述电竞客户端已通过注入dll(dynamiclinklibrary,动态链接库)的方式将反外挂模块加载到游戏应用进程内,所述反外挂模块会在所述游戏应用内部设立预设检测点;本实施例中并不限制游戏应用和电竞客户端的安装顺序,也即用户设备中可能在安装电竞客户端之前已安装有游戏应用,也可能是在安装了电竞客户端之后在该电竞客户端中下载并安装游戏应用;本实施例中并不限制反外挂模块的加载场景,例如,若用户在电竞客户端中下载并安装游戏应用,电竞客户端可在游戏应用安装完成后立即将反外挂模块加载到游戏应用进程内,又如,用户设备中在安装电竞客户端之前已安装有游戏应用,当用户在电竞客户端中第一次启动游戏应用时,电竞客户端将反外挂模块加载到游戏应用进程内;在一些实施例中,所述反外挂模块是一个独立dll,所述电竞客户端可使用远端线程技术将dll加载至游戏应用进程内,从而获得对游戏应用内部函数和数据地址的操作权限。根据本实施例的方法包括步骤s11、步骤s12和步骤s13。在步骤s11中,用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;在步骤s12中,用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;在步骤s13中,用户设备将所述反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的与所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。
在步骤s11中,用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息。在一些实施例中,所述步骤s11由反外挂模块来执行。在一些实施例中,所述预设检测点可设立在游戏应用内部的任何敏感数据区,优选地,所述预设监测点包括但不限于关键函数检测点和/或关键内存检测点,所述关键函数检测点是指针对游戏内部关键函数所设立的检测点,所述关键内存检测点是指针对游戏内部关键内存数据设立的检测点,关键函数和关键内存数据的定位来自于大量逆向工程的工作;在一些实施例中,关键函数可能为任何在游戏中具有关键功能(如对游戏中的关键行为或比赛结果的认定具有关键影响)的函数或者说外挂通常会关注的最破坏游戏平衡性的函数,如对于射击类游戏应用,主流外挂提供的最破坏游戏平衡性的功能,主要是透视与自动瞄准这两项关键功能,则可将与透视、自动瞄准相关的函数(如用于获取游戏内人物位置信息的函数、用于确定或调整人物颜色的函数、用于确定或调整人物视野朝向的函数等)视为关键函数,在一些实施例中,反外挂模块加载到游戏应用进程内,通过inlinehook游戏内部关键函数,使得游戏过程中对这些关键函数的调用均需先通过反外挂模块;在一些实施例中,关键内存数据包括但不限于与游戏内部关键函数相关的内存数据,如人物位置信息、人物颜色(或发光)信息、人物视野朝向信息等。在一些实施例中,所述游戏阶段用于表征用户游戏过程中的其中一个阶段,游戏过程中的游戏阶段的划分方式可能有多种,如对于竞技类游戏,可将游戏中的一小局作为一个游戏阶段,又如,可按照预定时间长度(如5分钟)划分游戏阶段。在一些实施例中,所述外挂特征信息包括通过对所述预设检测点进行监控所获得的任何与外挂检测相关的信息;在一些实施例中,所述外挂特征信息用于指示在所述预设检测点检测到的外挂特征,可选地,所述外挂特征信息包括但不限于:检测点类型(关键函数检测点或关键内存检测点)、检测点标识、外挂类型或作弊类型(透视或自动瞄准等)、时间戳等。需要说明的是,在一些实施例中,所述外挂特征信息可能为空,若在当前的游戏阶段中未在预设检测点检测到需要记录的数据,则所述游戏阶段中的外挂特征信息为空。在一些实施例中,用户设备对游戏应用内部的预设检测点进行监控,并将在当前的游戏阶段中在所述预设检测点检测到的所有数据记录作为所述游戏阶段对应的外挂特征信息,作为一个示例,游戏应用内部设立有多个预设检测点,反外挂模块对该多个预设检测点进行监控,记录在当前的游戏阶段中在各个预设监测点检测到的全部数据,并将该全部数据作为所述游戏阶段对应的外挂特征信息。在一些实施例中,用户设备对游戏应用内部的预设检测点进行监控,并将在当前的游戏阶段中在所述预设检测点检测到的满足预定记录条件的数据记录为所述游戏阶段对应的外挂特征信息(也即将检测到的数据有选择性的上报),作为一个示例,游戏应用内部设立有多个预设检测点,反外挂模块对该多个预设检测点进行监控,若在当前的游戏阶段检测到某个预设检测点存在外挂特征(也即满足预定记录条件),则记录在该某个预设检测点检测到的数据,并将所记录的数据作为所述游戏阶段对应的外挂特征信息。
在步骤s12中,用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息。在一些实施例中,所述步骤s12由反外挂模块来执行;在一些实施例中,所述正常游戏数据信息是指反外挂模块所采集到的在当前的游戏阶段中产生的个人游戏数据,作为一个示例,将一个小局作为一个游戏阶段,该小局对应的正常游戏数据信息表示在该小局游戏中采集到的玩家的个人游戏数据,如本局开火多少次、命中多少次、造成多少击杀、小局结束后剩余多少生命值等游戏数据。在一些实施例中,若当前的游戏阶段结束,反外挂模块将在该游戏阶段中采集到的正常游戏数据信息和该游戏阶段中记录的外挂特征信息组合在一起(或者按照预定规则进行组合以具备更好的隐蔽性),生成该游戏阶段对应的反外挂游戏数据信息。在一些实施例中,若当前的游戏阶段结束,反外挂模块通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息,可选地,可将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则(如在预定位置处插入或者每隔预定比特数插入等)隐藏至该游戏阶段对应的正常游戏数据信息中,以将外挂特征信息隐藏在正常游戏数据信息中,本申请并不限制隐藏外挂特征信息的具体方式,如可将外挂特征信息插入至正常游戏数据信息中的任意位置,又如可基于需求调整外挂特征信息被划分的字段数;作为一个示例,反外挂模块采集每小局玩家的正常游戏数据信息,如本局开火多少次、命中多少次、造成多少击杀、小局结束后剩余多少生命值等,然后将在该小局在预设检测点检测到的外挂特征信息(如本局如果作弊,外挂特征信息中包括作弊类型是透视还是自动瞄准等)作为字段隐藏在每小局上报的正常游戏数据信息中,然后统一加密传输,以增加外挂开发者分析定位的难度。在一些实施例中,若当前的游戏阶段结束,反外挂模块按照预定规则对所述外挂特征信息进行处理(如统计、筛选、计算等),并将处理后的数据与在该游戏阶段中采集到的正常游戏数据信息组合在一起(或者按照预定规则进行组合),生成该游戏阶段对应的反外挂游戏数据信息。在一些实施例中,若当前的游戏阶段结束且所述游戏阶段对应的外挂特征信息为空,则直接将在该游戏阶段中采集到的正常游戏数据信息作为该游戏阶段对应的反外挂游戏数据信息。
在步骤s13中,用户设备将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。在一些实施例中,所述游戏服务器是指用于存储各个游戏阶段对应的正常游戏数据信息的服务器,“来自游戏服务器的所述游戏阶段对应的正常游戏数据信息”是指游戏服务器在所述游戏阶段中生成的游戏数据信息;在一些实施例中,所述游戏服务器是指与电竞客户端配套专用的业务服务器。需要说明的是,所述第一服务器可为任何通过网络与所述用户设备相连接的服务器,本申请对此并不作限制;在一些实施例中,所述第一服务器即为所述游戏服务器,所述第一服务器可直接读取本地存储的与所述游戏阶段对应的正常游戏数据信息,所述游戏服务器作为第一服务器的方案能够使得外挂检测更方便快捷且安全性更高;在另一些实施例中,所述第一服务器可为所述游戏服务器以外的任何其他网络设备,所述第一服务器与所述游戏服务器之间通过网络进行连接,所述第一服务器获取所述游戏服务器发送的与所述游戏阶段对应的正常游戏数据信息。在一些实施例中,用户设备将所述游戏阶段对应的反外挂游戏数据信息进行加密,并将加密后的数据信息发送至第一服务器。在一些实施例中,用户设备中的反外挂模块将所述游戏阶段对应的反外挂游戏数据信息进行加密,并将加密后的数据信息提供给电竞客户端,以由电竞客户端将加密后的数据信息发送至第一服务器,也即,由反外挂模块负责小包数据(也即每个游戏阶段对应的反外挂游戏数据信息)的生成和加密,而电竞客户端仅负责信息转发;需要说明的是,由于反外挂模块工作在游戏应用内部,若反外挂模块直接与第一服务器通讯会比较敏感,外挂开发者可能会通过抓包工具分析出游戏应用在与某个ip通信,而通过电竞客户端的转发,反外挂模块与第一服务器之间并不直接进行交互,使得反外挂过程具备更强的隐蔽性和安全性。作为一个示例,以csgo游戏为例,用户设备中安装有pvp(playerversusplayer,玩家对战玩家)电竞客户端,该电竞客户端已通过注入dll的方式将反外挂模块嵌入到csgo游戏的程序内,且在csgo游戏内部与人物位置信息、人物颜色、人物视野朝向相关的敏感数据区设立了预设检测点,若外挂使用者通过外挂在csgo游戏中注入或读写游戏数据,在一个游戏阶段中,当外挂执行修改人物颜色、获取人物位置信息或修改人物视野朝向以实现自动瞄准的功能时,反外挂模块通过监控预设检测点记录外挂特征,并当该游戏阶段结束时将该游戏阶段对应的反外挂游戏数据信息(包括外挂特征和正常游戏数据)进行加密并上报至pvp电竞客户端,pvp电竞客户端将加密后的数据发送至csgo游戏对应的服务器,以使服务器对外挂使用者进行延迟惩罚。
需要说明的是,针对游戏过程中的每个游戏阶段,用户设备均会执行上述步骤s11、步骤s12和步骤s13,以将该游戏阶段对应的反外挂游戏数据信息上报至所述游戏应用对应的服务器,也即用户设备重复执行上述步骤s11、步骤s12和步骤s13,直至游戏结束。
在一些实施例中,所述预设检测点包括关键函数检测点,所述步骤s11包括:对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。在一些实施例中,反外挂模块通过inlinehook游戏应用内部的关键函数,修改关键函数的函数头部代码,实现接管游戏应用内部关键函数的调用,以监视调用者信息,则若存在外挂,外挂代码对这些关键函数的调用必须先通过反外挂模块,反外挂模块通过栈回溯的方式,可以追溯上层的栈调用者代码来自于何处,只要有来自于游戏应用以外的调用,都将被视为可疑调用而被记录。由于x86平台上函数被调用后都保存有返回地址,因此,将每级函数的返回地址、参数等一组数据称为一个栈帧,当游戏应用内部的关键函数被调用,反外挂模块可通过回溯栈帧来审查调用者的代码段来源于哪个模块,只有来源于游戏应用内部的调用才被视为合法。作为一个示例,csgo游戏是一款竞技类第一人称视角的射击游戏,由于csgo游戏本身的特性,主流外挂提供的最破坏游戏平衡性的功能,主要是透视与自动瞄准,而无论透视还是自动瞄准,外挂一定要获取csgo游戏内的人物位置信息,因此在csgo游戏内部的与人物位置有关的若干关键函数处设立关键函数检测点,反外挂模块对所述关键函数检测点进行监控,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,若根据所述代码来源为csgo游戏外部,也即有来自未知代码的调用,则记录该关键函数检测点对应的外挂特征信息(所述外挂特征信息包括但不限于该代码来源、所述函数调用事件对应的时间戳等),若所述代码来源为csgo游戏内正常逻辑,则不作记录。
在一些实施例中,所述预设检测点包括关键内存检测点,所述步骤s11包括:通过对所述关键内存检测点对应的内存数据区进行逐帧检测,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。在一些实施例中,若所述外挂特征信息指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态不一致,则表示有外挂代码段对其进行了非法修改。在一些实施例中,反外挂模块仅在检测到内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态不一致时,记录外挂特征信息,而若在当前的游戏阶段并未检测到不一致的情况,则不作记录。作为一个示例,在csgo游戏内部与人物位置信息、人物发光信息等关键内存数据区设立关键内存检测点,在游戏过程中,对关键内存检测点进行对应的关键内存数据区进行逐帧检测,同时记录这些数据最后一次被csgo游戏内部函数修改时的状态,一旦出现不一致,记录与所述关键内存检测点对应的外挂特征信息,该外挂特征信息指示内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态不一致。
在一些实施例中,所述预设检测点包括关键函数检测点和关键内存检测点,所述用户设备同时对所述关键函数检测点和关键内存检测点进行监控,具体地:对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息,并且,通过对所述关键内存检测点对应的内存数据区进行逐帧检测,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。
在一些实施例中,所述方法还包括:用户设备接收所述第一服务器或第二服务器发送的针对所述用户设备中登录的游戏账号的惩罚信息,并根据所述惩罚信息执行惩罚操作。在一些实施例中,所述惩罚信息包括任何用于指示对所述用户设备中登录的游戏账号(该游戏账号存在外挂特征)进行惩罚的信息,优选地,所述惩罚信息包括但不限于要惩罚的游戏账号、惩罚操作等。在一些实施例中,服务器发送至用户设备的惩罚信息用于指示需要在用户设备中执行的惩罚操作,如禁止玩家在该用户设备上登陆、将玩家踢出当前游戏等。在一些实施例中,由用户设备中的电竞客户端接收所述第一服务器发送的针对所述用户设备中登录的游戏账号的惩罚信息,电竞客户端将该惩罚信息提供给游戏应用,以使游戏应用根据所述惩罚信息执行惩罚操作,例如,电竞客户端接收到服务器发送的针对csgo游戏中当前登录的游戏账号的惩罚信息,该惩罚信息用于指示永久封禁该游戏账号,则电竞客户端将惩罚信息提供给csgo游戏,以使csgo游戏根据该惩罚信息封禁该游戏账号。需要说明的是,不同于现有的主动反外挂软件,本申请的方案在用户设备端并不会对外挂软件做任何阻止和警告,而是在每个游戏阶段结束时将该游戏阶段中发生的可疑外挂行为上报至服务器,由服务器决定是否惩罚以及如何惩罚,也即由服务器进行延迟惩罚,这种延迟惩罚方式使得外挂开发者难以确认究竟是外挂软件中的哪些行为特征触发了安全警报,从而极大的增加了外挂开发者调试外挂软件以回避侦测的难度。
图2示出了本申请一个实施例的在第一服务器中用于反外挂的方法的流程示意图。根据本实施例的方法包括步骤s21和步骤s22。在步骤s21中,第一服务器接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;在步骤s22中,第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
在步骤s21中,第一服务器接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息。在一些实施例中,服务器接收用户设备的电竞客户端发送的当前的游戏阶段对应的反外挂游戏数据信息,所述反外挂游戏数据信息是用户设备中的反外挂模块根据在所述游戏阶段中在所述预设检测点检测到的外挂特征信息以及所采集到的正常游戏数据信息来生成的。所述反外挂游戏数据信息已在前述实施例中予以详述,在此不再赘述。
在步骤s22中,第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。在一些实施例中,游戏应用对应的游戏服务器即为第一服务器,则游戏服务器直接将其接收到的一个游戏阶段对应的反外挂游戏数据信息与该游戏服务器中存储的该游戏阶段对应的正常游戏数据信息进行比对。在一些实施例中,第一服务器为游戏服务器以外的其他服务器,则第一服务器接收游戏服务器发送的与所述游戏阶段对应的正常游戏数据信息,并将来自用户设备的反外挂游戏数据信息与来自游戏服务器的正常游戏数据信息进行比对。在一些实施例中,在用户设备中不存在外挂的情况下,用户设备向第一服务器上报的游戏阶段对应的反外挂游戏数据信息与来自游戏服务器的该游戏阶段对应的正常游戏数据信息应是一致的,而当用户设备中存在外挂时,用户设备上报的该游戏阶段对应的反外挂游戏数据信息与来自游戏服务器的该游戏阶段对应的正常游戏数据信息是不一致的,因此,第一服务器通过进行比对,可确定所述反外挂游戏数据信息中是否存在外挂特征信息,具体地,若两者相符,则该游戏阶段上报的反外挂游戏数据信息中不存在外挂特征信息,若两者不符合,则确定所述游戏阶段上报的反外挂游戏数据信息中存在外挂特征信息。在一些实施例中,一个游戏阶段上报的反外挂游戏数据中存在外挂特征信息,则该游戏阶段存在使用外挂的嫌疑,第一服务器会将外挂特征信息上报至第二服务器记录,而若一个游戏阶段上报的反外挂游戏数据中不存在外挂特征信息,则将该游戏阶段不存在使用外挂的嫌疑,第一服务器无需记录。
所述第一服务器中可多次重复执行所述步骤s21和步骤s22,以针对每个游戏阶段上报的反外挂游戏数据信息执行比对操作来判断是否存在外挂特征。
在一些实施例中,所述方法还包括:所述第一服务器根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为。在一些实施例中,若确定所述用户设备中存在外挂行为,所述第一服务器将外挂行为对应的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。在一些实施例中,所述阶段上报记录包括任何与各个游戏阶段的上报情况相关的记录,如已接收到所对应的反外挂游戏数据信息的游戏阶段的标识信息、连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量等。在一些实施例中,所述预定外挂条件包括任何预定的用于判定是否存在外挂行为的条件,可选地,所述预定外挂条件包括以下至少任一项:连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。作为一个示例,第一服务器将游戏阶段数据包的正常上报视为心跳数据,并监控游戏阶段数据包是否正常上报,若第一服务器发现游戏阶段上报数据包连续丢失,则认为链路被外挂软件干扰导致上报数据包被截留,将认定具有外挂的高度嫌疑,第一服务器可将在初次认定后直接判定为作弊(即存在外挂行为),或者当初次认定后存档留案,并当多次连续认定后判定为作弊,该多次连续认定的次数可能是固定的也可能是可调整的,第一服务器中可能存储有基于经验预先设定的次数取值或者针对不同游戏场景设置的不同的次数取值或者用于调整次数取值的规则,本申请对此并不作限制。
在一些实施例中,所述方法还包括:若确定所述反外挂游戏数据信息中存在外挂特征信息,将所述外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。在一些实施例中,所述第二服务器可通过人工判定或自动判定来确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。在一些实施例中,所述第二服务器与所述第一服务器为同一个设备(需要说明的是,由于第一服务器可能与游戏服务器为同一设备,因此,第一服务器、第二服务器和游戏服务器可能为同一设备),也即直接在第一服务器中确定是否对所述用户设备中登录的游戏账号进行延迟惩罚;在一些实施例中,可在第一服务器中建立反外挂管理后台,第一服务器将基于所判定的外挂行为所记录的外挂行为相关信息提供给所述反外挂管理后台,以由所述反外挂管理后台判断是否触发惩罚机制,例如,第一服务器通过比对发现上报数据包中存在外挂特征,第一服务器将该外挂特征上报至反外挂管理后台,以由所述反外挂管理后台判断是否触发惩罚机制,又例如,第一服务器若根据阶段上报记录判定符合预定外挂条件(如连续多局未接收到用户设备端上报的反外挂游戏数据信息),则视为被外挂干扰(等同于外挂行为),第一服务器将相应的外挂行为相关信息上报至反外挂管理后台进行记录或处理,反外挂管理后台经人工或自动判定后,可触发惩罚机制。在一些实施例中,所述第二服务器与所述第一服务器为不同的设备,所述第二服务器与所述第一服务器通过网络连接,第一服务器将基于所判定的外挂行为所记录的外挂行为相关信息发送给第二服务器,以由所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。在一些实施例中,外挂行为越严重,惩罚越重,如对于在关键比赛中使用外挂的游戏账号从重惩罚。
在一些实施例中,第二服务器在获得外挂特征信息后,执行如下操作:若满足惩罚触发条件,生成针对所述用户设备中登录的游戏账号的惩罚信息;将所述惩罚信息发送至所述第一服务器或所述用户设备。在一些实施例中,由第二服务器生成的惩罚信息可能用于指示需要在游戏服务器中执行的惩罚操作(如封禁玩家的游戏账号、一定时间内禁止玩家登陆等),也可能用于指示需要在用户设备中执行的惩罚操作(如禁止玩家在该用户设备上登陆、将玩家踢出当前游戏等)。在一些实施例中,第二服务器将惩罚信息发送给第一服务器,该惩罚信息用于指示需要在游戏服务器中执行的惩罚操作,第一服务器接收该惩罚信息,若第一服务器即为游戏服务器,则第一服务器直接根据该惩罚信息执行相应惩罚操作,若第一服务器并非游戏服务器,则第一服务器将该惩罚信息发送至游戏服务器,以在所述游戏服务器中执行相应惩罚操作。在一些实施例中,第二服务器与用户设备端通过网络建立直接连接,第二服务器直接将惩罚信息发送给用户设备(可选地,第二服务器可将该惩罚信息发送至电竞客户端,之后由电竞客户端将该惩罚信息提供给游戏应用,或者,第二服务器可直接将该惩罚信息提供给游戏应用),该惩罚信息用于指示需要在用户设备中执行的惩罚操作的惩罚信息,以在用户设备中执行相应惩罚操作;在一些实施例中,第二服务器将惩罚信息发送至第一服务器,该惩罚信息用于指示需要在用户设备中执行的惩罚操作,之后,第一服务器将该惩罚信息发送给用户设备(可选地,第一服务器可将该惩罚信息发送至电竞客户端,之后由电竞客户端将该惩罚信息提供给游戏应用,或者,第一服务器可直接将该惩罚信息提供给游戏应用)。在一些实施例中,对于游戏应用中的关键比赛,第二服务器在确定存在外挂行为后可记录相关信息并提供给相关人员进行二次确认,例如,第二服务器将当前结束的小局比赛中存在外挂行为的游戏账号上报给相关监管人员进行二次确认,若经二次确认仍判定存在外挂行为,则触发延迟惩罚机制。
在一些实施例中,所述惩罚触发条件包括任何用于触发惩罚机制的条件,在一些实施例中,所述惩罚触发条件包括但不限于:外挂累计时长超过预定时长、外挂次数超过预定次数、外挂行为达到惩罚级别、在关键比赛中使用外挂、接收到来自操作人员输入的惩罚指示等。在一些实施例中,所述若满足惩罚触发条件,生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:根据所述外挂行为相关信息判断是否满足惩罚触发条件,若满足,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息。作为一个示例,第二服务器根据所述外挂行为相关信息判断满足惩罚触发条件,第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息,该惩罚信息指示将该游戏账号踢出当前游戏,之后,第二服务器将该惩罚信息发送至所述用户设备中的电竞客户端,电竞客户端将所述惩罚信息提供给游戏应用,以使游戏应用基于所述惩罚信息执行将该游戏账号踢出当前游戏的惩罚操作。
在一些实施例中,所述若满足惩罚触发条件,生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:若满足惩罚触发条件,结合所述游戏账号对应的历史惩罚记录,生成与所述游戏账号对应的惩罚信息。在一些实施例中,所述历史惩罚记录用于记录针对所述游戏账号的历史惩罚情况,如历史惩罚次数、每次的惩罚操作等。在一些实施例中,若满足惩罚触发条件,第二服务器结合所述游戏账号对应的历史惩罚记录,确定本次针对所述游戏账号的惩罚措施,并生成相应的惩罚信息,可选地,对于存在历史外挂行为的游戏账号加重惩罚,历史惩罚次数越多,惩罚也越严重。作为一个示例,第二服务器判断游戏账号a使用了外挂且满足惩罚触发条件,a的本次外挂行为本应处于踢出服务器的惩罚,然而a的历史惩罚记录指示其历史被惩罚过两次,则第二服务器基于该历史惩罚记录确定加重惩罚,并生成用于指示封禁游戏账号a的惩罚信息。
图3示出了本申请一个实施例的用于反外挂的系统方法的流程示意图。根据本实施例的方法包括步骤s31、步骤s32、步骤s33、步骤s34和步骤s35。在步骤s31中,用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;在步骤s32中,所述用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;在步骤s33中,所述用户设备将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器;在步骤s34中,所述第一服务器接收来自所述用户设备的与所述游戏阶段对应的反外挂游戏数据信息;在步骤s35中,所述第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述预设检测点包括关键函数检测点和/或关键内存检测点。在一些实施例中,所述预设检测点包括关键函数检测点,所述步骤s31包括:用户设备对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。在一些实施例中,所述预设检测点包括关键内存检测点,所述步骤s31包括:用户设备通过对所述关键内存检测点对应的内存数据区进行逐帧检测,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述步骤s32包括步骤s321,在所述步骤s321中,若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息。在一些实施例中,所述步骤s321包括:若当前的游戏阶段结束,将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则隐藏至该游戏阶段对应的正常游戏数据信息中,以生成该游戏阶段对应的反外挂游戏数据信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:若确定所述反外挂游戏数据信息中存在外挂特征信息,所述第一服务器将所述外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息;将所述惩罚信息发送至所述第一服务器或所述用户设备。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:所述第二服务器根据所述外挂行为相关信息判断是否满足惩罚触发条件,若满足,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:所述第一服务器接收来自所述第二服务器的所述惩罚信息,所述惩罚信息用于指示需要在游戏服务器中执行的惩罚操作;若所述第一服务器即为所述游戏服务器,所述第一服务器直接根据该惩罚信息执行相应惩罚操作;若所述第一服务器并非所述游戏服务器,所述第一服务器将所述惩罚信息发送至所述游戏服务器,以在所述游戏服务器中执行相应惩罚操作。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:所述第一服务器接收来自所述第二服务器的所述惩罚信息,所述惩罚信息用于指示需要在所述用户设备中执行的惩罚操作;所述第一服务器将所述惩罚信息发送给所述用户设备。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:所述用户设备接收所述第一服务器发送的所述惩罚信息,并根据所述惩罚信息执行惩罚操作。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:所述用户设备接收所述第二服务器发送的所述惩罚信息,所述惩罚信息用于指示需要在用户设备中执行的惩罚操作;所述用户设备根据所述惩罚信息执行惩罚操作。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:若满足惩罚触发条件,所述第二服务器结合所述游戏账号对应的历史惩罚记录,生成与所述游戏账号对应的惩罚信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述方法还包括:所述第一服务器根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为。在一些实施例中,所述预定外挂条件包括以下至少任一项:连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。相关操作已在前述实施例中予以详述,在此不再赘述。
图4示出了本申请一个实施例的在用户设备中用于反外挂的第一装置的结构示意图。本实施例的第一装置包括监控装置11、生成装置12和发送装置13。所述监控装置11用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;所述生成装置12用于当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;所述发送装置13用于将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。在一些实施例中,所述预设检测点包括关键函数检测点和/或关键内存检测点。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述预设检测点包括关键函数检测点,所述监控装置11用于:对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述预设检测点包括关键内存检测点,所述监控装置11用于:对所述关键内存检测点进行监控,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,其中,通过对所述关键内存检测点对应的内存数据区进行逐帧检测,来获得在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述第一装置还包括惩罚装置(图未示),所述惩罚装置用于接收所述第一服务器发送的针对所述用户设备中登录的游戏账号的惩罚信息,并根据所述惩罚信息执行惩罚操作。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述生成装置12用于若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息。在一些实施例中,所述若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息,包括:若当前的游戏阶段结束,将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则隐藏至该游戏阶段对应的正常游戏数据信息中,以生成该游戏阶段对应的反外挂游戏数据信息。相关操作已在前述实施例中予以详述,在此不再赘述。
图5示出了本申请一个实施例的在第一服务器中用于反外挂的第二装置的结构示意图。根据本实施例的第二装置包括接收装置21和比对装置22。所述接收装置21用于接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;所述比对装置22用于将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述第二装置还包括阶段上报监控装置(图未示),所述阶段上报监控装置用于根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为。在一些实施例中,所述预定外挂条件包括以下至少任一项:连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。相关操作已在前述实施例中予以详述,在此不再赘述。
在一些实施例中,所述第二装置还包括第二发送装置(图未示)。所述第二生成装置用于若确定所述反外挂游戏数据信息中存在外挂特征信息,将所述外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。
在一些实施例中,所述第二装置还包括:用于接收来自所述第二服务器的针对所述用户设备中登录的游戏账号的惩罚信息的装置;用于若所述惩罚信息用于指示需要在用户设备中执行的惩罚操作,将所述惩罚信息发送至所述用户设备的装置;用于若所述惩罚信息用于指示需要在游戏服务器中执行的惩罚操作,将所述惩罚信息提供给所述游戏服务器的装置。相关操作已在前述实施例中予以详述,在此不再赘述。
图6示出了可被用于实施本申请中所述的各个实施例的示例性系统。
在一些实施例中,系统1000能够作为本申请实施例中的任意一个处理设备。在一些实施例中,系统1000可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或nvm/存储设备1020)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器1005)。
对于一个实施例,系统控制模块1010可包括任意适当的接口控制器,以向(一个或多个)处理器1005中的至少一个和/或与系统控制模块1010通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块1010可包括存储器控制器模块1030,以向系统存储器1015提供接口。存储器控制器模块1030可以是硬件模块、软件模块和/或固件模块。
系统存储器1015可被用于例如为系统1000加载和存储数据和/或指令。对于一个实施例,系统存储器1015可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,系统存储器1015可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
对于一个实施例,系统控制模块1010可包括一个或多个输入/输出(i/o)控制器,以向nvm/存储设备1020及(一个或多个)通信接口1025提供接口。
例如,nvm/存储设备1020可被用于存储数据和/或指令。nvm/存储设备1020可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
nvm/存储设备1020可包括在物理上作为系统1000被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,nvm/存储设备1020可通过网络经由(一个或多个)通信接口1025进行访问。
(一个或多个)通信接口1025可为系统1000提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统1000可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器(例如,存储器控制器模块1030)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
在各个实施例中,系统1000可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统1000可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统1000包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
本申请还提供了一种设备,其中,所述设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行本申请所述的用于反外挂的方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行本申请所述的用于反外挂的方法。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行本申请所述的用于反外挂的方法。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。在下列编号条款中规定了各个实施例的这些和其他方面:
1.一种用于反外挂的方法,用于用户设备,其中,所述方法包括:
对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述用户设备中是否存在外挂特征信息。
2.根据条款1所述的方法,其中,所述预设检测点包括关键函数检测点和/或关键内存检测点。
3.根据条款2所述的方法,其中,所述预设检测点包括关键函数检测点,所述对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息,包括:
对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。
4.根据条款2所述的方法,其中,所述预设检测点包括关键内存检测点,所述对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息,包括:
通过对所述关键内存检测点对应的内存数据区进行逐帧检测,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。
5.根据条款1至4中任一项所述的方法,其中,所述方法还包括:
接收所述第一服务器或第二服务器发送的针对所述用户设备中登录的游戏账号的惩罚信息,并根据所述惩罚信息执行惩罚操作。
6.根据条款1所述的方法,其中,所述当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息,包括:
若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息。
7.根据条款6所述的方法,其中,所述若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息,包括:
若当前的游戏阶段结束,将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则隐藏至该游戏阶段对应的正常游戏数据信息中,以生成该游戏阶段对应的反外挂游戏数据信息。
8.一种用于反外挂的方法,用于第一服务器,其中,所述方法包括:
接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
9.根据条款8所述的方法,其中,所述方法还包括:
根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为。
10.根据条款9所述的方法,其中,所述预定外挂条件包括以下至少任一项:
连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。
11.根据条款8至10中任一项所述的方法,其中,所述方法还包括:
若确定所述反外挂游戏数据信息中存在外挂特征信息,将所述反外挂游戏数据信息中的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。
12.根据条款11所述的方法,其中,所述方法还包括:
接收来自所述第二服务器的针对所述用户设备中登录的游戏账号的惩罚信息;
若所述惩罚信息用于指示需要在用户设备中执行的惩罚操作,将所述惩罚信息发送至所述用户设备;
若所述惩罚信息用于指示需要在游戏服务器中执行的惩罚操作,将所述惩罚信息提供给所述游戏服务器。
13.一种用于反外挂的第一装置,其中,所述第一装置包括:
用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息的装置;
用于当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述游戏阶段对应的所述反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
14.根据条款13所述的第一装置,其中,所述预设检测点包括关键函数检测点和/或关键内存检测点。
15.根据条款14所述的第一装置,其中,所述预设检测点包括关键函数检测点,所述用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息的装置,用于:
对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。
16.根据条款14所述的第一装置,其中,所述预设检测点包括关键内存检测点,所述用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息的装置,用于:
对所述关键内存检测点进行监控,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,其中,通过对所述关键内存检测点对应的内存数据区进行逐帧检测,来获得在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。
17.根据条款13至16中任一项所述的第一装置,其中,所述第一装置还包括:
用于接收所述第一服务器或第二服务器发送的针对用户设备中登录的游戏账号的惩罚信息,并根据所述惩罚信息执行惩罚操作的装置。
18.根据条款13所述的第一装置,其中,所述用于当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息的装置,用于:
若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息。
19.根据条款18所述的第一装置,其中,所述若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息,包括:
若当前的游戏阶段结束,将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则隐藏至该游戏阶段对应的正常游戏数据信息中,以生成该游戏阶段对应的反外挂游戏数据信息。
20.一种用于反外挂的第二装置,其中,所述第二装置包括:
用于接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
21.根据条款20所述的第二装置,其中,所述第二装置还包括:
用于根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为的装置。
22.根据条款21所述的第二装置,其中,所述预定外挂条件包括以下至少任一项:
连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。
23.根据条款20至22中任一项所述的第二装置,其中,所述第二装置还包括:
用于若确定所述反外挂游戏数据信息中存在外挂特征信息,将所述反外挂游戏数据信息中的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚的装置。
24.根据条款23所述的第二装置,其中,所述第二装置还包括:
用于接收来自所述第二服务器的针对所述用户设备中登录的游戏账号的惩罚信息的装置;
用于若所述惩罚信息用于指示需要在用户设备中执行的惩罚操作,将所述惩罚信息发送至所述用户设备的装置;
用于若所述惩罚信息用于指示需要在游戏服务器中执行的惩罚操作,将所述惩罚信息提供给所述游戏服务器的装置。
25.一种用于反外挂的方法,其中,所述方法包括:
用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
所述用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
所述用户设备将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器;
所述第一服务器接收来自所述用户设备的与所述游戏阶段对应的反外挂游戏数据信息;
所述第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
26.根据条款25所述的方法,其中,所述预设检测点包括关键函数检测点和/或关键内存检测点。
27.根据条款26所述的方法,其中,所述预设检测点包括关键函数检测点,所述用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息,包括:
用户设备对所述关键函数检测点进行监控,获得在当前的游戏阶段中在所述关键函数检测点检测到的外挂特征信息,其中,若在当前的游戏阶段中发生与关键函数检测点对应的函数调用事件,通过基于栈回溯对所述函数调用事件对应的上层栈调用者的代码来源进行追溯,来获得在所述关键函数检测点检测到的外挂特征信息。
28.根据条款26所述的方法,其中,所述预设检测点包括关键内存检测点,所述用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息,包括:
用户设备通过对所述关键内存检测点对应的内存数据区进行逐帧检测,获得在当前的游戏阶段中在所述关键内存检测点检测到的外挂特征信息,所述外挂特征信息用于指示所述内存数据区中的数据与最近一次被游戏应用内部函数修改时的状态是否一致。
29.根据条款25所述的方法,其中,所述当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息,包括:
若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息。
30.根据条款29所述的方法,其中,所述若当前的游戏阶段结束,通过将该游戏阶段中记录的外挂特征信息作为字段隐藏在该游戏阶段对应的正常游戏数据信息中,来生成该游戏阶段对应的反外挂游戏数据信息,包括:
若当前的游戏阶段结束,将该游戏阶段记录的外挂特征信息划分为至少一个字段,并将各个字段按照预定规则隐藏至该游戏阶段对应的正常游戏数据信息中,以生成该游戏阶段对应的反外挂游戏数据信息。
31.根据条款25至30中任一项所述的方法,其中,所述方法还包括:
若确定所述反外挂游戏数据信息中存在外挂特征信息,所述第一服务器将所述反外挂游戏数据信息中的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。
32.根据条款25所述的方法,其中,所述方法还包括:
所述第一服务器根据最近一段时间内所述用户设备中各个游戏阶段的阶段上报记录,判断是否符合预定外挂条件,若是,确定所述用户设备中存在外挂行为。
33.根据条款32所述的方法,其中,所述预定外挂条件包括以下至少任一项:
连续未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第一数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量大于或等于第二数量阈值;
未接收到所对应的反外挂游戏数据信息的游戏阶段数量与总的游戏阶段数量之间的比值大于或等于预定比值阈值。
34.根据条款32或33所述的方法,其中,所述方法还包括:
将外挂行为对应的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚。
35.根据条款31所述的方法,其中,所述方法还包括:
所述第二服务器接收所述第一服务器发送的外挂特征信息;
若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息;
所述第二服务器将所述惩罚信息发送至所述第一服务器或所述用户设备。
36.根据条款35所述的方法,其中,所述若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:
所述第二服务器根据接收到的外挂特征信息判断是否满足惩罚触发条件,若满足,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息。
37.根据条款35或36所述的方法,其中,所述方法还包括:
所述第一服务器接收来自所述第二服务器的所述惩罚信息,所述惩罚信息用于指示需要在游戏服务器中执行的惩罚操作;
若所述第一服务器即为所述游戏服务器,所述第一服务器直接根据该惩罚信息执行相应惩罚操作;
若所述第一服务器并非所述游戏服务器,所述第一服务器将所述惩罚信息发送至所述游戏服务器,以在所述游戏服务器中执行相应惩罚操作。
38.根据条款35或36所述的方法,其中,所述方法还包括:
所述第一服务器接收来自所述第二服务器的所述惩罚信息,所述惩罚信息用于指示需要在所述用户设备中执行的惩罚操作;
所述第一服务器将所述惩罚信息发送给所述用户设备。
39.根据条款38所述的方法,其中,所述方法还包括:
所述用户设备接收所述第一服务器发送的所述惩罚信息,并根据所述惩罚信息执行惩罚操作。
40.根据条款35或36所述的方法,其中,所述方法还包括:
所述用户设备接收所述第二服务器发送的所述惩罚信息,所述惩罚信息用于指示需要在用户设备中执行的惩罚操作;
所述用户设备根据所述惩罚信息执行惩罚操作。
41.根据条款35所述的方法,其中,所述若满足惩罚触发条件,所述第二服务器生成针对所述用户设备中登录的游戏账号的惩罚信息,包括:
若满足惩罚触发条件,所述第二服务器结合所述游戏账号对应的历史惩罚记录,生成与所述游戏账号对应的惩罚信息。
42.一种用于反外挂的系统,包括用户设备和第一服务器,所述用户设备包括如条款13至19中任一项所述的第一装置,所述第一服务器包括如条款20至24中任一项所述的第二装置。
43.一种用于反外挂的系统,包括用户设备、第一服务器和第二服务器,所述用户设备包括如条款13至19中任一项所述的第一装置,所述第一服务器包括如条款23或24所述的第二装置。
44.一种电子设备,其中,所述电子设备包括:
存储器,用于存储一个或多个程序;
一个或多个处理器,与所述存储器相连,
当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如条款1至12中任一项所述的方法。
45.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如条款1至12中任一项所述的方法。
46.一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行如条款1至12中任一项所述的方法。
1.一种用于反外挂的方法,用于用户设备,其中,所述方法包括:
对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息。
2.一种用于反外挂的方法,用于第一服务器,其中,所述方法包括:
接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息;
将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
3.一种用于反外挂的第一装置,其中,所述第一装置包括:
用于对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息的装置;
用于当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述游戏阶段对应的所述反外挂游戏数据信息发送至第一服务器,以使所述第一服务器通过将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,来确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
4.一种用于反外挂的第二装置,其中,所述第二装置包括:
用于接收来自用户设备的与游戏应用中当前的游戏阶段对应的反外挂游戏数据信息的装置;
用于将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息的装置。
5.根据权利要求4所述的第二装置,其中,所述第二装置还包括:
用于若确定所述反外挂游戏数据信息中存在外挂特征信息,将所述反外挂游戏数据信息中的外挂特征信息发送至第二服务器,以使所述第二服务器确定是否对所述用户设备中登录的游戏账号进行延迟惩罚的装置。
6.一种用于反外挂的方法,其中,所述方法包括:
用户设备对游戏应用内部的预设检测点进行监控,获得在当前的游戏阶段中在所述预设检测点检测到的外挂特征信息;
所述用户设备当所述游戏阶段结束,根据所述外挂特征信息以及所述游戏阶段对应的正常游戏数据信息,生成所述游戏阶段对应的反外挂游戏数据信息;
所述用户设备将所述游戏阶段对应的反外挂游戏数据信息发送至第一服务器;
所述第一服务器接收来自所述用户设备的与所述游戏阶段对应的反外挂游戏数据信息;
所述第一服务器将所述反外挂游戏数据信息与来自游戏服务器的所述游戏阶段对应的正常游戏数据信息进行比对,并根据比对结果确定所述反外挂游戏数据信息中是否存在外挂特征信息。
7.一种用于反外挂的系统,包括用户设备和第一服务器,所述用户设备包括如权利要求3所述的第一装置,所述第一服务器包括如权利要求4所述的第二装置。
8.一种用于反外挂的系统,包括用户设备、第一服务器和第二服务器,所述用户设备包括如权利要求3所述的第一装置,所述第一服务器包括如权利要求5所述的第二装置。
9.一种电子设备,其中,所述电子设备包括:
存储器,用于存储一个或多个程序;
一个或多个处理器,与所述存储器相连,
当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如权利要求1或2所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如权利要求1或2所述的方法。
技术总结