一种游戏协议测试方法、装置、电子设备和存储介质制造方法及图纸

技术编号:28837032 阅读:12 留言:0更新日期:2021-06-11 23:34
本申请涉及计算机技术领域,尤其涉及一种游戏协议测试方法、装置、电子设备和存储介质,用以提高游戏协议测试的效率,其中方法包括:响应于用户通过游戏协议测试界面选择的目标游戏,启动目标游戏客户端;从目标游戏客户端中获取目标游戏的目标协议类;通过反射方法解析目标协议类,构造针对不同目标协议类的协议对象,并对协议对象进行赋值得到用于进行游戏协议测试的变异数据;将变异数据发送给目标游戏客户端,通过目标游戏客户端将变异数据发送给目标游戏服务器后,根据目标游戏服务器运行变异数据之后的状态,对目标游戏进行游戏协议测试。由于本申请中变异数据是针对游戏协议特点构造的,能通过目标游戏服务器的解包校验,测试更加高效。

【技术实现步骤摘要】
一种游戏协议测试方法、装置、电子设备和存储介质
本申请涉及计算机
,尤其涉及一种游戏协议测试方法、装置、电子设备和存储介质。
技术介绍
协议测试是针对通信协议进行的测试,协议测试能够实现一些常规测试中无法实现的流程。在进行协议测试时,包含对协议进行拦截、解析、篡改、发送等一系列的测试过程。随着游戏的普及,需要针对游戏协议进行测试。一种进行游戏协议测试的方法是使用历史经验数据值进行测试,但是由于历史经验值获取的渠道较少,且主观性强,测试的效果不理想;另一种进行游戏协议测试的方法是,根据网络接口,生成大量测试数据,但是该方法构造的大量测试数据无法通过游戏服务器的解包校验,导致测试数据无效,并且耗时很长。基于上述内容,现有技术中的游戏协议测试方法测试效果较差,效率较低。
技术实现思路
本申请实施例提供一种游戏协议测试方法、装置、电子设备和存储介质,提高游戏协议测试的效率。本申请实施例提供的一种游戏协议测试方法,包括:响应于用户通过游戏协议测试界面选择的目标游戏,启动目标游戏客户端;从所述目标游戏客户端中获取所述目标游戏的目标协议类,其中,所述目标游戏的每个游戏功能对应至少一个协议类;通过反射方法解析所述目标协议类,构造针对不同目标协议类的协议对象,并对所述协议对象进行赋值得到用于进行游戏协议测试的变异数据;将所述变异数据发送给所述目标游戏客户端,通过所述目标游戏客户端将所述变异数据发送给目标游戏服务器后,根据所述目标游戏服务器运行所述变异数据之后的状态,对所述目标游戏进行游戏协议测试。本申请实施例提供的一种游戏协议测试装置,包括:响应单元,用于响应于用户通过游戏协议测试界面选择的目标游戏,启动目标游戏客户端;获取单元,用于从所述目标游戏客户端中获取所述目标游戏的目标协议类,其中,所述目标游戏的每个游戏功能对应至少一个协议类;构造单元,用于通过反射方法解析所述目标协议类,构造针对不同目标协议类的协议对象,并对所述协议对象进行赋值得到用于进行游戏协议测试的变异数据;测试单元,用于将所述变异数据发送给所述目标游戏客户端,通过所述目标游戏客户端将所述变异数据发送给目标游戏服务器后,根据所述目标游戏服务器运行所述变异数据之后的状态,对所述目标游戏进行游戏协议测试。可选的,所述构造单元具体用于:针对每个目标协议类,通过反射方法解析所述目标协议类,确定所述目标协议类中的协议字段;调用所述目标协议类对应的构造函数,为所述目标协议类中的协议字段赋初始值,得到针对所述目标协议类的协议对象。可选的,所述构造单元具体用于:针对每个协议对象,遍历所述协议对象,获取所述协议对象中的目标协议字段;针对每个目标协议字段,调用与所述目标协议字段的数据类型对应的变异接口,为所述目标协议字段进行赋值。可选的,所述测试单元还用于通过下列方式确定所述目标游戏服务器运行所述变异数据之后的状态:通过所述目标游戏客户端向所述目标游戏服务器发送心跳包,根据所述目标游戏服务器是否向所述目标游戏客户端发送心跳包反馈,确定所述目标游戏服务器运行所述变异数据之后的状态;或根据所述目标游戏服务器与所述目标游戏客户端之间的网络接口的状态,确定所述目标游戏服务器运行所述变异数据之后的状态;或通过监控所述目标游戏服务器的进程,确定所述目标游戏服务器运行所述变异数据之后的状态。可选的,所述装置还包括:确定单元,用于根据所述目标游戏服务器运行所述变异数据之后的状态,确定所述目标游戏的游戏协议测试结果;发送单元,用于将所述游戏协议测试结果发送给游戏协议测试服务器,以使所述游戏协议测试服务器向所述用户展示所述游戏协议测试结果。本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述一种游戏协议测试方法的步骤。本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述一种游戏协议测试方法的步骤。本申请有益效果如下:本申请实施例提供的游戏协议测试方法、装置、电子设备和存储介质,用于进行游戏协议测试的变异数据是根据目标游戏的目标协议类构造的,由于本申请实施例中的协议类主要用于定义游戏客户端以及游戏服务器之间通信的数据格式,因而根据目标游戏中的目标协议类构造的变异数据是针对游戏协议特点构造的,更加具有针对性,构造的变异数据能够通过目标游戏服务器的解包校验,可以构造海量有效的变异数据,扩大了游戏协议测试的覆盖面,更加高效准确,能够发现更多的漏洞风险。本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例中的一个可选的应用场景图;图2为本申请实施例提供的一种游戏协议测试方法的流程图;图3A为本申请实施例提供的一种游戏协议测试界面示意图;图3B为本申请实施例提供的另一种游戏协议测试界面示意图;图4A为本申请实施例提供的第一种模糊测试过程中游戏界面示意图;图4B为本申请实施例提供的第二种模糊测试过程中游戏界面示意图;图4C为本申请实施例提供的第三种模糊测试过程中游戏界面示意图;图4D为本申请实施例提供的第四种模糊测试过程中游戏界面示意图;图5A为本申请实施例提供的一种命名空间示意图;图5B为本申请实施例提供的一种父类特征示意图;图5C为本申请实施例提供的一种变异接口示意图;图6A为本申请实施例提供的第一种漏洞测试结果展示图;图6B为本申请实施例提供的第二种漏洞测试结果展示图;图6C为本申请实施例提供的第三种漏洞测试结果展示图;图7为本申请实施例提供的一种可选的交互实现时序流程示意图;图8为本申请实施例提供的一种游戏协议测试装置的组成结构示意图;图9为本申请实施例提供的一种电子设备的组成结构示意图;图10为应用本申请实施例的一种计算装置的一种硬件组成结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。下面对本申请实施例中涉及的部分本文档来自技高网...

【技术保护点】
1.一种游戏协议测试方法,其特征在于,该方法包括:/n响应于用户通过游戏协议测试界面选择的目标游戏,启动目标游戏客户端;/n从所述目标游戏客户端中获取所述目标游戏的目标协议类,其中,所述目标游戏的每个游戏功能对应至少一个协议类;/n通过反射方法解析所述目标协议类,构造针对不同目标协议类的协议对象,并对所述协议对象进行赋值得到用于进行游戏协议测试的变异数据;/n将所述变异数据发送给所述目标游戏客户端,通过所述目标游戏客户端将所述变异数据发送给目标游戏服务器后,根据所述目标游戏服务器运行所述变异数据之后的状态,对所述目标游戏进行游戏协议测试。/n

【技术特征摘要】
1.一种游戏协议测试方法,其特征在于,该方法包括:
响应于用户通过游戏协议测试界面选择的目标游戏,启动目标游戏客户端;
从所述目标游戏客户端中获取所述目标游戏的目标协议类,其中,所述目标游戏的每个游戏功能对应至少一个协议类;
通过反射方法解析所述目标协议类,构造针对不同目标协议类的协议对象,并对所述协议对象进行赋值得到用于进行游戏协议测试的变异数据;
将所述变异数据发送给所述目标游戏客户端,通过所述目标游戏客户端将所述变异数据发送给目标游戏服务器后,根据所述目标游戏服务器运行所述变异数据之后的状态,对所述目标游戏进行游戏协议测试。


2.如权利要求1所述的方法,其特征在于,所述从所述目标游戏客户端中获取所述目标游戏的目标协议类,包括:
遍历所述目标游戏客户端对应的各代码模块中的类,根据类的命名空间特征,获取遍历的类中的目标协议类;或
遍历所述目标游戏客户端对应的各代码模块中的类,根据类的父类特征,获取遍历的类中的目标协议类。


3.如权利要求1所述的方法,其特征在于,所述通过反射方法解析所述目标协议类,构造针对不同目标协议类的协议对象,包括:
针对每个目标协议类,通过反射方法解析所述目标协议类,确定所述目标协议类中的协议字段;
调用所述目标协议类对应的构造函数,为所述目标协议类中的协议字段赋初始值,得到针对所述目标协议类的协议对象。


4.如权利要求1所述的方法,其特征在于,所述对所述协议对象进行赋值得到用于进行游戏协议测试的变异数据,包括:
针对每个协议对象,遍历所述协议对象,获取所述协议对象中的目标协议字段;
针对每个目标协议字段,调用与所述目标协议字段的数据类型对应的变异接口,为所述目标协议字段进行赋值。


5.如权利要求1所述的方法,其特征在于,通过下列方式确定所述目标游戏服务器运行所述变异数据之后的状态:
通过所述目标游戏客户端向所述目标游戏服务器发送心跳包,根据所述目标游戏服务器是否向所述目标游戏客户端发送心跳包反馈,确定所述目标游戏服务器运行所述变异数...

【专利技术属性】
技术研发人员:罗德志严明王枭周江王建行蒋洪伟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1