CN116361803A - 漏洞检测方法及装置 - Google Patents

漏洞检测方法及装置 Download PDF

Info

Publication number
CN116361803A
CN116361803A CN202310074981.3A CN202310074981A CN116361803A CN 116361803 A CN116361803 A CN 116361803A CN 202310074981 A CN202310074981 A CN 202310074981A CN 116361803 A CN116361803 A CN 116361803A
Authority
CN
China
Prior art keywords
event
information
vulnerability
audio
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310074981.3A
Other languages
English (en)
Inventor
张鹏宇
毛倩妮
郑婷婷
李裕逵
郑美娥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Kingsoft Digital Network Technology Co Ltd filed Critical Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority to CN202310074981.3A priority Critical patent/CN116361803A/zh
Publication of CN116361803A publication Critical patent/CN116361803A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供漏洞检测方法及装置,其中所述漏洞检测方法包括:确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。

Description

漏洞检测方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及漏洞检测方法及装置。
背景技术
随着互联网技术的发展,计算机及软件服务为用户带来了更加便捷的服务,其在不同应用场景都得以应用。而bug作为计算机及软件运行中经常遇到的问题,其发生可大可小。通常会致使软件无法被正常访问,或者用户隐私数据泄露等,甚至使计算机系统遭到破坏的可能。而要消除bug就需要找到计算机或者软件中的bug,再针对性进行解决。现有技术中,在进行bug定位时,大多数是使用debug调试代码,通过设置断点来对bug进行定位;或者输出日志,加log输出可以变量,从而定位bug;虽然上述方法可以实现bug的定位,但是其定位消耗的时间以及维护成本都非常高,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本申请实施例提供了一种漏洞检测方法,以解决现有技术中存在的技术缺陷。本申请实施例同时提供了一种漏洞检测装置,一种计算设备,以及一种计算机可读存储介质。
根据本申请实施例的第一方面,提供了一种漏洞检测方法,包括:
确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;
将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;
在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;
通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
可选地,所述确定处于执行状态的目标音频事件,包括:
在目标游戏触发音频事件的情况下,接收关联所述音频事件的事件指令;
响应于所述事件指令执行所述音频事件,根据执行结果将所述音频事件作为处于执行状态的目标音频事件。
可选地,所述通过监听所述目标音频事件加载音频事件数据,包括:
对所述目标音频事件进行监听,根据监听结果获取事件数据、功能行为数据和实例行为数据;
基于所述事件数据、所述功能行为数据和所述实例行为数据,组成所述目标音频事件对应的音频事件数据。
可选地,所述将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示,包括:
确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;
将所述音频事件数据写入所述初始事件日志信息列表获得事件日志信息列表,以及写入所述初始事件日志信息队列获得事件日志信息队列;
根据所述事件日志信息列表和所述事件日志信息队列,生成所述事件监控页面并展示。
可选地,所述将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示步骤执行之后,还包括:
接收针对所述事件监控页面提交的触控指令;
根据所述触控指令在所述事件监控页面对应的全局事件信息中,确定待展示事件信息;
基于所述待展示事件信息对所述事件监控页面进行更新,并展示更新后的事件监控页面。
可选地,所述将所述事件监控页面切换为包含事件日志信息的漏洞定位页面,包括:
将所述事件监控页面切换为初始漏洞定位页面,并获取音频事件实例信息、全局参数信息和资源使用信息;
将所述音频事件实例信息、所述全局参数信息和所述资源使用信息添加至所述初始漏洞定位页面,根据添加结果获得包含事件日志信息的漏洞定位页面;
其中,所述音频事件实例信息、所述全局参数信息和所述资源使用信息组成所述事件日志信息。
可选地,所述通过遍历所述事件日志信息确定漏洞信息,包括:
遍历所述事件日志信息,根据遍历结果确定所述音频事件实例信息;
检测所述音频事件实例信息中是否包含所述目标音频事件的播放事件日志;
若否,根据所述音频事件实例信息确定所述漏洞信息;
若是,根据所述音频事件实例信息检测所述播放事件日志对应的执行对象,根据对象检测结果确定所述漏洞信息。
可选地,所述根据对象检测结果确定所述漏洞信息,包括:
在所述对象检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述全局参数信息;
检测所述全局参数信息的参数结构是否与基准参数结构相同;
若否,根据所述全局参数信息的参数结构确定所述漏洞信息;
若是,根据所述全局参数信息检测所述目标音频事件对应的全局音量,根据音量检测结果确定所述漏洞信息。
可选地,所述根据音量检测结果确定所述漏洞信息,包括:
在音量检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述资源使用信息;
检测所述资源使用信息中包含的资源使用数值是否满足数值检测条件;
若否,根据所述资源使用信息中包含的资源使用数值确定所述漏洞信息;
若是,根据所述资源使用信息检测所述目标音频事件对应的事件关联日志,根据日志检测结果确定所述漏洞信息。
根据本申请实施例的第二方面,提供了一种漏洞检测装置,包括:
确定事件模块,被配置为确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;
添加数据模块,被配置为将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;
切换页面模块,被配置为在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;
遍历信息模块,被配置为通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述漏洞检测方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述漏洞检测方法的步骤。
根据本申请实施例的第五方面,提供了一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述漏洞检测方法的步骤。
本实施例提供的漏洞检测方法,为了能够降低运维成本以及加快漏洞检测效率,可以在确定处于执行状态的目标音频事件后,通过监听目标音频事件加载音频事件数据,之后将音频事件数据添加至事件日志结构中,并根据添加结果生成事件监控页面进行展示,实现在运行阶段可以对定位漏洞使用的相关信息进行记录,且展示给运维人员观看方,方便在出现漏洞时进行检测。当目标事件存在音频漏洞的情况下,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,之后通过遍历事件日志页面确定漏洞信息,以将漏洞信息添加至漏洞定位页面进行展示,实现快速且高效的完成漏洞检测,从而降低维护成本。
附图说明
图1是本申请一实施例提供的一种漏洞检测方法的示意图;
图2是本申请一实施例提供的一种漏洞检测方法的流程图;
图3是本申请一实施例提供的一种漏洞检测方法的处理流程图;
图4是本申请一实施例提供的一种漏洞检测装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
在本申请中,提供了一种漏洞检测方法。本申请同时涉及一种漏洞检测装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
事件日志窗口编辑器类(EventLogWindow)下分了两个页面类,事件日志逻辑类(EventLogPage)和实例逻辑类(InstancePage),通过这两个页面的Root的挂载卸载来进行页面的切换。在EventLogWindow的Enable阶段,会对两个页面进行新建和赋值,由于EventLogPage为序列化类(内部含有事件记录的序列化数据),只有打开工程且第一次打开EventLogWindow时才会new EventLogPage事件日志逻辑类,之后此类的实例一直存在。进一步的,在EventLogWindow的CreatGUI阶段,会进行uxml和uss的绑定,通常在开发环境中无需进行此操作,在EventLogWindow的脚本中已序列化绑定,但在封装后则需要进行路径获取文件加载。在此基础上会进行控件树的重新构建,控件的初始化和控件事件绑定,开始处理事件记录的协程等操作。
参见图1所示的示意图,本实施例提供的漏洞检测方法,为了能够降低运维成本以及加快漏洞检测效率,可以在确定处于执行状态的目标音频事件后,通过监听目标音频事件加载音频事件数据,之后将音频事件数据添加至事件日志结构中,并根据添加结果生成事件监控页面进行展示,实现在运行阶段可以对定位漏洞使用的相关信息进行记录,且展示给运维人员观看方,方便在出现漏洞时进行检测。当目标事件存在音频漏洞的情况下,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,之后通过遍历事件日志页面确定漏洞信息,以将漏洞信息添加至漏洞定位页面进行展示,实现快速且高效的完成漏洞检测,从而降低维护成本。
图2出了根据本申请一实施例提供的一种漏洞检测方法的流程图,具体包括以下步骤:
步骤S202,确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据。
本实施例提供的漏洞检测方法应用于音频漏洞结检测场景,比如游戏中音频播放问题检测场景,软件中音频特效播放问题检测场景,再或者网页中音频特效播放问题检测场景等;本实施例以游戏中音频播放问题检测场景为例对漏洞检测方法进行说明,其他场景中相同或相应的描述均可参见本实施例描述,本实施例在此不作过多赘述。
相应的,目标音频事件具体是指游戏场景中触发的音频事件,其包括但不限于音频播放事件,音频停止播放事件,音频音量调整事件等,涉及到音频变化的事件均可以理解为音频事件。相应的,音频事件数据具体是指对应目标音频事件的相关数据,其记录有事件名、事件ID、事件作用对象类型、触发时间等,用于实现对目标音频事件进行记录,方便在进行漏洞检测时使用。
基于此,为了能够支持在漏洞定位时可以提高漏洞定位效率,可以在执行目标音频事件时,监听目标音频事件对应的音频事件数据,以方便后续对音频事件数据按照设定方式进行记录,实现在检测阶段可以基于被记录的音频事件数据定位漏洞位置,从而快速完成漏洞排除处理,以避免对游戏运行产生影响。
进一步的,由于游戏运行中其会触发大量的音频事件,而为了能够对所有的音频事件进行记录,需要在音频事件触发后确定其执行状态,从而选择被执行的音频事件作为目标音频事件,本实施例中,具体实现方式如下:
在目标游戏触发音频事件的情况下,接收关联所述音频事件的事件指令;响应于所述事件指令执行所述音频事件,根据执行结果将所述音频事件作为处于执行状态的目标音频事件。
具体的,目标游戏具体是指当前运行在客户端上的游戏,包括但不限于动作类游戏、角色扮演类游戏、射击类游戏等。相应的,事件指令具体是指目标游戏触发的音频事件对应的指令,可以理解为音频插件发出的音频功能事件指令,用于触发执行相应的音频事件,达到相应的功能行为,如播放游戏中技能音效等。
需要说明的是,目标游戏触发的音频事件其对应的功能行为包含事件指令、播放动作行为、暂停动作行为、全部暂停动作行为、恢复播放动作行为、全部恢复播放动作行为、停止动作行为、全部停止动作行为、设置Switch动作行为、设置State动作行为、设置GameParameter参数动作行为、绑定VirtualGameObject动作行为。此外,除上述动作行为消息还可以包含创建Playable实例动作行为、销毁Playable实例动作行为。
基于此,在目标游戏触发音频事件的情况下,说明此时目标游戏触发了音频关联的事件,则此时可以接收关联音频事件的事件指令;之后响应于事件指令执行音频事件,实现根据执行结果将音频事件作为处于执行状态的目标音频事件,以方便后续对目标音频事件的相关数据进行监听和记录,实现在漏洞检测阶段使用。
举例说明,在J游戏开发阶段,为了能够确保J游戏中相关的音频播放正确,可以在开发阶段进行音频播放的检测;当J游戏中游戏角色A释放S技能后,会伴随S技能的音效播放,此时将接收到S技能音频播放的事件指令,确定当前的音频事件为S技能音频播放事件,以方便后续进行bug检测和定位。
综上,通过选择被执行的音频事件作为目标音频事件,实现对当前时刻触发的音频事件进行相关数据的记录,能够方便在漏洞检测阶段使用,从而提高漏洞检测效率。
更进一步的,在确定执行状态的目标音频事件后,为了能够对所有可能产生漏洞的原因涉及的相关数据进行记录,可以选择多维度的数据组成音频事件数据,本实施例中,具体实现方式如下:
对所述目标音频事件进行监听,根据监听结果获取事件数据、功能行为数据和实例行为数据;基于所述事件数据、所述功能行为数据和所述实例行为数据,组成所述目标音频事件对应的音频事件数据。
具体的,事件数据具体是指关联目标音频事件的相关描述数据,用于记录事件的相关内容;相应的,功能行为数据具体是指目标音频事件被执行时相关功能对应的描述数据;相应的,实例行为数据具体是指创建\销毁Playable实例动作行为数据,即目标音频事件中关联触发音频的对象的相关描述数据。
其中,事件数据包括但不限于事件名、事件ID、作用对象类型(Global或者GameObject)、消息触发的时间等;相应的,功能行为数据包括但不限于目标对象名、动作类型(播放、暂停等)、目标对象的ID、作用对象类型(Global或者GameObject)、消息触发的时间等;相应的,实例行为数据包括但不限于目标对象名、目标对象的ID、作用对象类型(Global或者GameObject)、消息触发的时间等。
基于此,在触发目标音频事件后,可以对目标音频事件进行监听,实现根据监听结果获取事件数据、功能行为数据和实例行为数据;从而从多个维度对目标音频事件进行监听,之后基于事件数据、功能行为数据和实例行为数据,组成目标音频事件对应的音频事件数据,用于后续使用即可。
实际应用中,在目标游戏中触发音频播放相关的事件后,会通过音频插件管理类(AudioEditorManager)进行事件处理,而在处理过程中,会发送各类事件消息。事件日志窗口编辑器类(EventLogWindow)在初始化时会对上述事件进行监听,同时获取事件相应的数据,以方便后续能够实现对事件数据进行记录,从而在漏洞检测阶段使用。
沿用上例,在确定当前的音频事件为S技能音频播放事件后,为了能够对S技能音频播放事件进行音频事件的bug检测,可以监听S技能音频播放事件,根据监听结果确定S技能音频播放事件对应的事件数据、功能行为数据和实例行为数据,事件数据包括事件名、事件ID、作用对象类型(Global或者GameObject)、消息触发的时间,功能行为数据包括目标对象名、动作类型(播放、暂停等)、目标对象的ID、作用对象类型(Global或者GameObject)、消息触发的时间,实例行为数据包括目标对象名、目标对象的ID、作用对象类型(Global或者GameObject)、消息触发的时间,以方便后续基于上述数据进行日志的记录,实现在bug定位阶段进行分析使用。
综上,通过结合多个维度的数据组成音频事件数据,实现在后续进行数据记录阶段,可以从多个维度完成事件记录,以在漏洞检测阶段,可以结合被记录的数据快速的定位漏洞,从而提高漏洞检测效率。
步骤S204,将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示。
具体的,在上述获取到目标音频事件对应的音频事件数据后,为了能够对其持久化存储,可以将音频事件数据添加至事件日志结构中,实现通过事件日志结构对音频事件数据进行存储,同时会根据写入结果创建事件监控页面,并向用户进行展示;实现用户可以通过事件监控页面浏览当前时刻触发的目标音频事件对应的相关音频数据,以在存在故障时进行漏洞检测。
其中,事件日志结构具体是指用于存储音频事件数据的日志结构,包括但不限于列表、队列等;相应的,事件监控页面具体是指展示关联目标音频事件相关信息的页面,其展示的信息包括但不限于事件名称、事件ID、作用对象类型和消息触发的时间等,具体实施时,可以根据实际需求设定,本实施例在此不作任何限定。
进一步的,在进行事件监控页面展示时,为了能够达到记录音频事件相关数据的同时,方便用户对音频事件相关数据进行浏览,可以选择列表和队列分别记录音频事件数据,再进行页面生成,本实施例中,具体实现方式如下:
确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;将所述音频事件数据写入所述初始事件日志信息列表获得事件日志信息列表,以及写入所述初始事件日志信息队列获得事件日志信息队列;根据所述事件日志信息列表和所述事件日志信息队列,生成所述事件监控页面并展示。
具体的,初始事件日志信息列表具体是指用于记录所有音频插件发出的音频功能事件指令,以及事件相应的功能行为的列表,方便在漏洞检测阶段使用;相应的,初始事件日志信息队列具体是指用于记录所有音频插件发出的音频功能事件指令,以及事件相应的功能行为的队列,方便在事件监控页面中更新事件信息。
基于此,为了能够对音频事件数据记录的同时还能够方便用户查询,可以先确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;之后将音频事件数据写入初始事件日志信息列表获得事件日志信息列表,以及写入初始事件日志信息队列获得事件日志信息队列;而为了能够方便用户查询相关信息,可以根据事件日志信息列表和事件日志信息队列,生成事件监控页面并展示。
综上,通过将音频事件数据写入初始事件日志信息列表和初始事件日志信息队列,实现在音频事件触发阶段可以对其进行记录,不仅可以在漏洞检测阶段使用,还能够用于生成相应的页面,从而方便用户维护。
此外,在展示事件监控页面后,考虑到用户具有浏览事件信息的目的,因此为了能够提高显示性能,可以根据指令确定待展示事件信息,用于更新页面,本实施例中,具体实现方式如下:
接收针对所述事件监控页面提交的触控指令;根据所述触控指令在所述事件监控页面对应的全局事件信息中,确定待展示事件信息;基于所述待展示事件信息对所述事件监控页面进行更新,并展示更新后的事件监控页面。
具体的,触控指令具体是指用户针对事件监控页面提交的指令,该指令用于更新页面,实现在页面中展示用户需要浏览的信息;相应的,全局事件信息具体是指事件监控页面能够被展示的全部音频事件对应的事件信息的集合;相应的,待展示事件信息具体是指全局事件信息中,与触控指令对应的事件信息,即触发指令后,需要被展示的事件信息。
基于此,在接收针对事件监控页面提交的触控指令的情况下,说明用户需要查看除当前展示的事件信息外的其他事件信息,则此时可以根据触控指令在事件监控页面对应的全局事件信息中,确定待展示事件信息;之后基于待展示事件信息对事件监控页面进行更新,从而实现通过更新后的事件监控页面展示待展示事件信息。
实际应用中,在得到目标音频事件对应的音频事件数据后,可以将其添加到事件日志逻辑类(EventLogPage)的事件日志信息列表(eventLogInfoList)中,以及待添加入界面事件日志信息队列(eventLogInfoQueue)中;其中,eventLogInfoList用于记录所有音频插件(AudioEditorManager)发出的音频功能事件指令、事件相应的功能行为以及音频事件数据。eventLogInfoQueue用于为了每帧方便按进入队列顺序取一定数量的事件信息进行展示,而记录所有音频插件(AudioEditorManager)发出的音频功能事件指令、事件相应的功能行为以及音频事件数据。
进一步的,由于事件日志逻辑类(EventLogPage)的ScrollView在大量事件信息添加时性能消耗非常大,因此为了能够降低性能消耗,可以通过协程和队列,限定每帧能够添加到ScrollView中显示的事件信息。即通过只显示一部分事件信息来减轻性能。事件日志逻辑类(EventLogPage)使用了eventLogInfoShowNumber字段来记录目前显示事件信息列表和显示的数量。当显示的数量达到最大值时,后续不再进行添加;而当用户滚动页面至第一条显示的事件信息,但并未是事件信息列表中的首位时,eventLogInfoShowNumber的数值进行向上跳转,显示之前的记录,向下滚动同理。其中,eventLogInfoShowNumber为储存显示于ScrollView中的EventLogInfo序列,第一项为首位在EventLogInfoList中的序列,第二项为显示的长度。
沿用上例,在得到S技能音频播放事件对应的音频事件数据后,可以直接将其添加到事件日志逻辑类(EventLogPage)的事件日志信息列表(eventLogInfoList)中,以及待添加入界面事件日志信息队列(eventLogInfoQueue)中;并根据添加结果得到事件监控页面进行展示,方便开发人员在该页面中对J游戏中S技能音频播放事件的相关音频事件日志信息进行浏览。进一步的,在通过该页面进行日志信息浏览时,还可以通过协程和队列,限定每帧能够添加到ScrollView中显示的事件信息。
综上,通过结合事件监控页面展示用户需要查看的内容,同时以设定方式对其进行优化,可以有效的降低性能消耗,更加方便用户使用。
步骤S206,在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面。
具体的,在目标音频事件存在音频漏洞的情况下,说明其存在问题,无法满足游戏的正常运行,因此为了能够快速定位漏洞问题而进行排除,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,实现后续可以通过遍历漏洞定位页面中的事件日志信息完成漏洞定位,以快速完成漏洞排除处理。
其中,事件日志信息具体是指记录目标音频事件对应的音频事件数据的日志信息,相应的,漏洞定位页面具体是指向用户展示漏洞信息的页面,能够辅助用户进行漏洞定位。
进一步的,在从事件监控页面切换为漏洞定位页面时,为了能够从多维度完成漏洞定位,可以结合多维度的信息组成事件日志信息,本实施例中,具体实现方式如下:
将所述事件监控页面切换为初始漏洞定位页面,并获取音频事件实例信息、全局参数信息和资源使用信息;将所述音频事件实例信息、所述全局参数信息和所述资源使用信息添加至所述初始漏洞定位页面,根据添加结果获得包含事件日志信息的漏洞定位页面;其中,所述音频事件实例信息、所述全局参数信息和所述资源使用信息组成所述事件日志信息。
具体的,初始漏洞定位页面具体是指还未插入关联目标音频事件相关信息的页面;相应的,音频事件实例信息具体是指关联目标音频事件的实例的描述信息,相应的,全局参数信息具体是指游戏中全局参数的描述信息;相应的,资源使用信息具体是指目标音频事件使用相关资源的使用信息。
基于此,当从事件监控页面切换为初始漏洞定位页面后,为了能够对漏洞进行定位,可以先并获取音频事件实例信息、全局参数信息和资源使用信息;之后将音频事件实例信息、全局参数信息和资源使用信息添加至初始漏洞定位页面,实现在页面中插入目标音频事件对应的全部事件日志信息,实现根据添加结果获得包含事件日志信息的漏洞定位页面;且音频事件实例信息、全局参数信息和资源使用信息组成事件日志信息。
实际应用中,考虑到音频事件实例信息、全局参数信息和资源使用信息分别记录目标音频事件被执行时不同阶段对应的事件数据,因此为了能够在漏洞定位阶段快速定位漏洞问题,可以在事件日志窗口编辑器类(EventLogWindow)切换到InstancePage时,获取playableInstance(AudioComponent)实例信息、GameParameter信息,SwitchGroup信息进行展示。其中,PlayableInstance信息通过AudioEditorManager.GetPlayableInstanceInfo()获取当前正在播放的实例信息,包括触发的GameObjcet的Name,InstanceId等,并且通过链式结构获取组件的子组件数据等信息。以方便后续通过调用组件获取相应的全局值和局部值,从而定位漏洞问题。
其中,playableInstance(AudioComponent)实例信息是音频插件的播放音乐、音效时会创建Playable实例,会展示Playable的内容。GameParameter信息是游戏的全局参数的展示。SwitchGroup信息展示了当前所有SwitchGroup的使用情况。
沿用上例,在J游戏中S技能音频播放事件存在bug的情况下,其导致bug发生的原因有多种可能,如S技能触发但是未触发音频播放,或者音频的音量不正确,再或者S技能的音频文件丢失等;因此在进行bug定位时,为了能够精准的实现,可以先将事件监控页面切换为初始bug定位页面,之后获取S技能音频播放事件关联的音频事件实例信息、全局参数信息和资源使用信息,实现从多个维度进行逐步分析,此时再将上述信息更新到初始bug定位页面,即可方便后续通过分析上述信息的方式定位bug。
综上,通过结合不同的信息组成事件日志信息,方便在后续进行遍历时,可以依次完成,从而提高漏洞定位精度和效率。
步骤S208,通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
具体的,在上述确定包含事件日志信息的漏洞定位页面后,进一步的,为了能够从事件日志信息中分析出漏洞位置,可以遍历事件日志信息中包含的全部内容,从而根据遍历结果定位漏洞位置,从而确定漏洞信息,之后为了能够方便用户查看,可以将其添加到漏洞定位页面中进行展示。其中,漏洞信息具体是指描述漏洞问题的信息。
进一步的,在遍历事件日志信息确定漏洞信息时,考虑到事件日志信息中包含大量的信息,因此可以采用设定的遍历策略对事件日志信息中包含的多个信息进行依次遍历和检测,从而确定漏洞信息,本实施例中,具体实现方式如下:
遍历所述事件日志信息,根据遍历结果确定所述音频事件实例信息;检测所述音频事件实例信息中是否包含所述目标音频事件的播放事件日志;若否,根据所述音频事件实例信息确定所述漏洞信息;若是,根据所述音频事件实例信息检测所述播放事件日志对应的执行对象,根据对象检测结果确定所述漏洞信息。
具体的,播放事件日志具体是指目标音频事件对应的音频播放事件对应的日志;相应的,执行对象具体是指执行的播放事件日志对象。
基于此,可以先遍历事件日志信息,以根据遍历结果确定音频事件实例信息;之后检测音频事件实例信息中是否包含目标音频事件的播放事件日志;若否,说明音频漏洞发生在音频事件实例信息对应的节点,则可以根据音频事件实例信息确定漏洞信息;若是,说明音频漏洞可能发生在其他节点,则此时可以根据音频事件实例信息检测播放事件日志对应的执行对象,实现根据对象检测结果确定漏洞信息。
在上述检测的基础上,若对象检测结果未通过,说明漏洞问题发生在上一阶段,则可以根据对象检测结果确定漏洞信息。若对象检测结果通过,说明上一阶段未出现问题,则可以继续执行下述步骤:
在所述对象检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述全局参数信息;检测所述全局参数信息的参数结构是否与基准参数结构相同;若否,根据所述全局参数信息的参数结构确定所述漏洞信息;若是,根据所述全局参数信息检测所述目标音频事件对应的全局音量,根据音量检测结果确定所述漏洞信息。
具体的,参数结构具体是指全局参数信息对应的数据结构。相应的,全局音量具体是指播放目标音频事件对应的音频的音量。
基于此,在对象检测结果为检测通过的情况下,说明在音频事件实例信息对应的节点中未发生音频漏洞,则此时可以继续遍历事件日志信息,以根据遍历结果确定全局参数信息;之后检测全局参数信息的参数结构是否与基准参数结构相同;若否,说明音频漏洞发生在全局参数信息对应的节点,则可以根据全局参数信息的参数结构确定漏洞信息;若是,说明音频漏洞可能发生在其他节点,则此时可以根据全局参数信息检测目标音频事件对应的全局音量,实现根据音量检测结果确定漏洞信息。
在上述检测的基础上,若音量检测结果未通过,说明漏洞问题发生在上一阶段,则可以根据音量检测结果确定漏洞信息。若音量检测结果通过,说明上一阶段未出现问题,则可以继续执行下述步骤:
在音量检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述资源使用信息;检测所述资源使用信息中包含的资源使用数值是否满足数值检测条件;若否,根据所述资源使用信息中包含的资源使用数值确定所述漏洞信息;若是,根据所述资源使用信息检测所述目标音频事件对应的事件关联日志,根据日志检测结果确定所述漏洞信息。
具体的,资源使用数值具体是指SwitchGroup内的Value。相应的,事件关联日志具体是指记录音频事件播放动作的日志。
基于此,在音量检测结果为检测通过的情况下,说明在对应的节点中未发生音频漏洞,则此时可以继续全局参数信息遍历事件日志信息,以根据遍历结果确定资源使用信息;之后检测资源使用信息中包含的资源使用数值是否满足数值检测条件;若否,说明音频漏洞发生在资源使用信息对应的节点,则可以根据资源使用信息中包含的资源使用数值确定漏洞信息;若是,说明音频漏洞可能发生在其他节点,则此时可以根据资源使用信息检测目标音频事件对应的事件关联日志,根据日志检测结果确定漏洞信息。
也就是说,在游戏开发阶段,若游戏内释放A技能没有听到技能音效。就可以在EventLogWindows窗口内查看是否有技能A的播放事件日志,如果没有,就证明技能的逻辑代码没有发出释放技能A的音效播放事件。如果有技能A的播放事件日志,就可以查看执行的播放动作日志对象是否正确。如果不正确,就证明执行的播放动作日志对象不正确。如果正确,就查看playableInstance(AudioComponent)内的结构是否正确,根据正确性判断结果确定bug;之后再查看GameParameter全局的音量是否是调到了最低,根据音量调节情况确定bug;此外,如果设置了SwitchGroup,就查看SwitchGroup内的Value是否正确,以确定bug;此外还可以查看有没有技能A的停止事件日志、停止动作日志,实现进行bug定位。
沿用上例,在上述确定S技能音频事件存在bug后,可以先在EventLogWindows窗口内查看是否有S技能的播放事件日志,若没有,说明技能的逻辑代码没有发出释放技能A的音效播放事件,则确定bug为逻辑代码没有发出释放技能A的音效播放事件;若有,说明当前阶段没有问题,则需要继续进行bug定位检测。
进一步的,此时可以查看执行的播放动作日志对象是否正确。若不正确,说明执行播放动作日志对象不正确,则确定bug为S技能的播放动作日志对象不正确。若正确,说明当前阶段没有问题,则需要继续进行bug定位检测。
更进一步的,此时可以查看playableInstance(AudioComponent)内的结构是否正确,若不正确,说明S技能音频播放事件的音频未添加至播放设备,则确定bug为S技能音频播放事件的音频未添加至播放设备。若正确,说明当前阶段没有问题,则需要继续进行bug定位检测。
再进一步的,可以再查看GameParameter全局的音量是否是调到了最低;若是,说明S技能音频播放事件中的音频被播放时未以合理的音量进行播放,则确定bug为S技能的音频播放音频不正确。若否,说明当前阶段没有问题,则需要继续进行bug定位检测。此外,若S技能音频播放事件设置了SwitchGroup,还可以查看SwitchGroup内的Value是否正确,从而实现bug的定位,同时还可以查看S技能的停止事件日志、停止动作日志,实现进行bug定位。
本实施例提供的漏洞检测方法,为了能够降低运维成本以及加快漏洞检测效率,可以在确定处于执行状态的目标音频事件后,通过监听目标音频事件加载音频事件数据,之后将音频事件数据添加至事件日志结构中,并根据添加结果生成事件监控页面进行展示,实现在运行阶段可以对定位漏洞使用的相关信息进行记录,且展示给运维人员观看方,方便在出现漏洞时进行检测。当目标事件存在音频漏洞的情况下,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,之后通过遍历事件日志页面确定漏洞信息,以将漏洞信息添加至漏洞定位页面进行展示,实现快速且高效的完成漏洞检测,从而降低维护成本。
下述结合附图3以本申请提供的漏洞检测方法在游戏场景中的应用为例,对所述漏洞检测方法进行进一步说明。其中,图3示出了本申请一实施例提供的一种漏洞检测方法的处理流程图,具体包括以下步骤:
步骤S302,在目标游戏触发音频事件的情况下,接收关联音频事件的事件指令。
步骤S304,响应于事件指令执行音频事件,根据执行结果将音频事件作为处于执行状态的目标音频事件。
步骤S306,对目标音频事件进行监听,根据监听结果获取事件数据、功能行为数据和实例行为数据。
步骤S308,基于事件数据、功能行为数据和实例行为数据,组成目标音频事件对应的音频事件数据。
步骤S310,确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;
步骤S312,将音频事件数据写入初始事件日志信息列表获得事件日志信息列表,以及写入初始事件日志信息队列获得事件日志信息队列。
步骤S314,根据事件日志信息列表和事件日志信息队列,生成事件监控页面并展示。
步骤S316,在目标音频事件存在音频漏洞的情况下,将事件监控页面切换为初始漏洞定位页面,并获取音频事件实例信息、全局参数信息和资源使用信息。
步骤S318,将音频事件实例信息、全局参数信息和资源使用信息添加至初始漏洞定位页面,根据添加结果获得包含事件日志信息的漏洞定位页面。
步骤S320,通过遍历事件日志信息确定漏洞信息,并将漏洞信息添加至漏洞定位页面进行展示。
实际应用中,在目标游戏中触发音频播放相关的事件后,会通过音频插件管理类(AudioEditorManager)进行事件处理,而在处理过程中,会发送各类事件消息。事件日志窗口编辑器类(EventLogWindow)在初始化时会对上述事件进行监听,同时获取事件相应的数据,以方便后续能够实现对事件数据进行记录,从而在漏洞检测阶段使用。
在得到目标音频事件对应的音频事件数据后,可以将其添加到事件日志逻辑类(EventLogPage)的事件日志信息列表(eventLogInfoList)中,以及待添加入界面事件日志信息队列(eventLogInfoQueue)中;其中,eventLogInfoList用于记录所有音频插件(AudioEditorManager)发出的音频功能事件指令、事件相应的功能行为以及音频事件数据。eventLogInfoQueue用于为了每帧方便按进入队列顺序取一定数量的事件信息进行展示,而记录所有音频插件(AudioEditorManager)发出的音频功能事件指令、事件相应的功能行为以及音频事件数据。
进一步的,由于事件日志逻辑类(EventLogPage)的ScrollView在大量事件信息添加的时性能消耗非常大,因此为了能够降低性能消耗,可以通过协程和队列,限定每帧能够添加到ScrollView中显示的事件信息。即通过只显示一部分事件信息来减轻性能。事件日志逻辑类(EventLogPage)使用了eventLogInfoShowNumber字段来记录目前显示事件信息列表和显示的数量。当显示的数量达到最大值时,后续不再进行添加;而当用户滚动页面至第一条显示的事件信息,但并未是事件信息列表中的首位时,eventLogInfoShowNumber的数值进行向上跳转,显示之前的记录,向下滚动同理。其中,eventLogInfoShowNumber为储存显示于ScrollView中的EventLogInfo序列,第一项为首位在EventLogInfoList中的序列,第二项为显示的长度。
此外,考虑到音频事件实例信息、全局参数信息和资源使用信息分别记录目标音频事件被执行时不同阶段对应的事件数据,因此为了能够在漏洞定位阶段快速定位漏洞问题,可以在事件日志窗口编辑器类(EventLogWindow)切换到InstancePage时,获取playableInstance(AudioComponent)实例信息、GameParameter信息,SwitchGroup信息进行展示。其中,PlayableInstance信息通过AudioEditorManager.GetPlayableInstanceInfo()获取当前正在播放的实例信息,包括触发的GameObjcet的Name,InstanceId等,并且通过链式结构获取组件的子组件数据等信息。其中,playableInstance(AudioComponent)实例信息是音频插件的播放音乐、音效时会创建Playable实例,会展示Playable的内容。GameParameter信息是游戏的全局参数的展示。SwitchGroup信息展示了当前所有SwitchGroup的使用情况。
也就是说,在游戏开发阶段,若游戏内释放A技能没有听到技能音效。就可以在EventLogWindows窗口内查看是否有技能A的播放事件日志,如果没有,就证明技能的逻辑代码没有发出释放技能A的音效播放事件。如果有技能A的播放事件日志,就可以查看执行的播放动作日志对象是否正确。如果不正确,就证明执行的播放动作日志对象不正确。如果正确,就查看playableInstance(AudioComponent)内的结构是否正确,根据正确性判断结果确定bug;之后再查看GameParameter全局的音量是否是调到了最低,根据音量调节情况确定bug;此外,如果设置了SwitchGroup,就查看SwitchGroup内的Value是否正确,以确定bug;此外还可以查看有没有技能A的停止事件日志、停止动作日志,实现进行bug定位。
本实施例提供的漏洞检测方法,为了能够降低运维成本以及加快漏洞检测效率,可以在确定处于执行状态的目标音频事件后,通过监听目标音频事件加载音频事件数据,之后将音频事件数据添加至事件日志结构中,并根据添加结果生成事件监控页面进行展示,实现在运行阶段可以对定位漏洞使用的相关信息进行记录,且展示给运维人员观看方,方便在出现漏洞时进行检测。当目标事件存在音频漏洞的情况下,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,之后通过遍历事件日志页面确定漏洞信息,以将漏洞信息添加至漏洞定位页面进行展示,实现快速且高效的完成漏洞检测,从而降低维护成本。
与上述方法实施例相对应,本申请还提供了漏洞检测装置实施例,图4示出了本申请一实施例提供的一种漏洞检测装置的结构示意图。如图4所示,该装置包括:
确定事件模块402,被配置为确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;
添加数据模块404,被配置为将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;
切换页面模块406,被配置为在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;
遍历信息模块408,被配置为通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
一个可选的实施例中,所述确定事件模块402进一步被配置为:
在目标游戏触发音频事件的情况下,接收关联所述音频事件的事件指令;响应于所述事件指令执行所述音频事件,根据执行结果将所述音频事件作为处于执行状态的目标音频事件。
一个可选的实施例中,所述添加数据模块404进一步被配置为:
对所述目标音频事件进行监听,根据监听结果获取事件数据、功能行为数据和实例行为数据;基于所述事件数据、所述功能行为数据和所述实例行为数据,组成所述目标音频事件对应的音频事件数据。
一个可选的实施例中,所述切换页面模块406进一步被配置为:
确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;将所述音频事件数据写入所述初始事件日志信息列表获得事件日志信息列表,以及写入所述初始事件日志信息队列获得事件日志信息队列;根据所述事件日志信息列表和所述事件日志信息队列,生成所述事件监控页面并展示。
一个可选的实施例中,所述装置还包括:
展示模块,被配置为接收针对所述事件监控页面提交的触控指令;根据所述触控指令在所述事件监控页面对应的全局事件信息中,确定待展示事件信息;基于所述待展示事件信息对所述事件监控页面进行更新,并展示更新后的事件监控页面。
一个可选的实施例中,所述切换页面模块406进一步被配置为:
将所述事件监控页面切换为初始漏洞定位页面,并获取音频事件实例信息、全局参数信息和资源使用信息;将所述音频事件实例信息、所述全局参数信息和所述资源使用信息添加至所述初始漏洞定位页面,根据添加结果获得包含事件日志信息的漏洞定位页面;其中,所述音频事件实例信息、所述全局参数信息和所述资源使用信息组成所述事件日志信息。
一个可选的实施例中,所述遍历信息模块408进一步被配置为:
遍历所述事件日志信息,根据遍历结果确定所述音频事件实例信息;检测所述音频事件实例信息中是否包含所述目标音频事件的播放事件日志;若否,根据所述音频事件实例信息确定所述漏洞信息;若是,根据所述音频事件实例信息检测所述播放事件日志对应的执行对象,根据对象检测结果确定所述漏洞信息。
一个可选的实施例中,所述遍历信息模块408进一步被配置为:
在所述对象检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述全局参数信息;检测所述全局参数信息的参数结构是否与基准参数结构相同;若否,根据所述全局参数信息的参数结构确定所述漏洞信息;若是,根据所述全局参数信息检测所述目标音频事件对应的全局音量,根据音量检测结果确定所述漏洞信息。
一个可选的实施例中,所述遍历信息模块408进一步被配置为:
在音量检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述资源使用信息;检测所述资源使用信息中包含的资源使用数值是否满足数值检测条件;若否,根据所述资源使用信息中包含的资源使用数值确定所述漏洞信息;若是,根据所述资源使用信息检测所述目标音频事件对应的事件关联日志,根据日志检测结果确定所述漏洞信息。
本实施例提供的漏洞检测装置,为了能够降低运维成本以及加快漏洞检测效率,可以在确定处于执行状态的目标音频事件后,通过监听目标音频事件加载音频事件数据,之后将音频事件数据添加至事件日志结构中,并根据添加结果生成事件监控页面进行展示,实现在运行阶段可以对定位漏洞使用的相关信息进行记录,且展示给运维人员观看方,方便在出现漏洞时进行检测。当目标事件存在音频漏洞的情况下,可以将事件监控页面切换为包含事件日志信息的漏洞定位页面,之后通过遍历事件日志页面确定漏洞信息,以将漏洞信息添加至漏洞定位页面进行展示,实现快速且高效的完成漏洞检测,从而降低维护成本。
上述为本实施例的一种漏洞检测装置的示意性方案。需要说明的是,该漏洞检测装置的技术方案与上述的漏洞检测方法的技术方案属于同一构思,漏洞检测装置的技术方案未详细描述的细节内容,均可以参见上述漏洞检测方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行所述漏洞检测方法的计算机可执行指令。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的漏洞检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述漏洞检测方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于漏洞检测方法。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的漏洞检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述漏洞检测方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请一实施例还提供一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述漏洞检测方法的步骤。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (12)

1.一种漏洞检测方法,其特征在于,包括:
确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;
将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;
在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;
通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
2.根据权利要求1所述的方法,其特征在于,所述确定处于执行状态的目标音频事件,包括:
在目标游戏触发音频事件的情况下,接收关联所述音频事件的事件指令;
响应于所述事件指令执行所述音频事件,根据执行结果将所述音频事件作为处于执行状态的目标音频事件。
3.根据权利要求1所述的方法,其特征在于,所述通过监听所述目标音频事件加载音频事件数据,包括:
对所述目标音频事件进行监听,根据监听结果获取事件数据、功能行为数据和实例行为数据;
基于所述事件数据、所述功能行为数据和所述实例行为数据,组成所述目标音频事件对应的音频事件数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示,包括:
确定用于记录音频事件的初始事件日志信息列表,以及用于展示音频事件信息的初始事件日志信息队列;
将所述音频事件数据写入所述初始事件日志信息列表获得事件日志信息列表,以及写入所述初始事件日志信息队列获得事件日志信息队列;
根据所述事件日志信息列表和所述事件日志信息队列,生成所述事件监控页面并展示。
5.根据权利要求1所述的方法,其特征在于,所述将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示步骤执行之后,还包括:
接收针对所述事件监控页面提交的触控指令;
根据所述触控指令在所述事件监控页面对应的全局事件信息中,确定待展示事件信息;
基于所述待展示事件信息对所述事件监控页面进行更新,并展示更新后的事件监控页面。
6.根据权利要求1所述的方法,其特征在于,所述将所述事件监控页面切换为包含事件日志信息的漏洞定位页面,包括:
将所述事件监控页面切换为初始漏洞定位页面,并获取音频事件实例信息、全局参数信息和资源使用信息;
将所述音频事件实例信息、所述全局参数信息和所述资源使用信息添加至所述初始漏洞定位页面,根据添加结果获得包含事件日志信息的漏洞定位页面;
其中,所述音频事件实例信息、所述全局参数信息和所述资源使用信息组成所述事件日志信息。
7.根据权利要求6所述的方法,其特征在于,所述通过遍历所述事件日志信息确定漏洞信息,包括:
遍历所述事件日志信息,根据遍历结果确定所述音频事件实例信息;
检测所述音频事件实例信息中是否包含所述目标音频事件的播放事件日志;
若否,根据所述音频事件实例信息确定所述漏洞信息;
若是,根据所述音频事件实例信息检测所述播放事件日志对应的执行对象,根据对象检测结果确定所述漏洞信息。
8.根据权利要求7所述的方法,其特征在于,所述根据对象检测结果确定所述漏洞信息,包括:
在所述对象检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述全局参数信息;
检测所述全局参数信息的参数结构是否与基准参数结构相同;
若否,根据所述全局参数信息的参数结构确定所述漏洞信息;
若是,根据所述全局参数信息检测所述目标音频事件对应的全局音量,根据音量检测结果确定所述漏洞信息。
9.根据权利要求8所述的方法,其特征在于,所述根据音量检测结果确定所述漏洞信息,包括:
在音量检测结果为检测通过的情况下,遍历所述事件日志信息,根据遍历结果确定所述资源使用信息;
检测所述资源使用信息中包含的资源使用数值是否满足数值检测条件;
若否,根据所述资源使用信息中包含的资源使用数值确定所述漏洞信息;
若是,根据所述资源使用信息检测所述目标音频事件对应的事件关联日志,根据日志检测结果确定所述漏洞信息。
10.一种漏洞检测装置,其特征在于,包括:
确定事件模块,被配置为确定处于执行状态的目标音频事件,并通过监听所述目标音频事件加载音频事件数据;
添加数据模块,被配置为将所述音频事件数据添加至事件日志结构中,根据添加结果生成事件监控页面并展示;
切换页面模块,被配置为在所述目标音频事件存在音频漏洞的情况下,将所述事件监控页面切换为包含事件日志信息的漏洞定位页面;
遍历信息模块,被配置为通过遍历所述事件日志信息确定漏洞信息,并将所述漏洞信息添加至所述漏洞定位页面进行展示。
11.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至9任意一项所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至9任意一项所述方法的步骤。
CN202310074981.3A 2023-01-29 2023-01-29 漏洞检测方法及装置 Pending CN116361803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310074981.3A CN116361803A (zh) 2023-01-29 2023-01-29 漏洞检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310074981.3A CN116361803A (zh) 2023-01-29 2023-01-29 漏洞检测方法及装置

Publications (1)

Publication Number Publication Date
CN116361803A true CN116361803A (zh) 2023-06-30

Family

ID=86928021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310074981.3A Pending CN116361803A (zh) 2023-01-29 2023-01-29 漏洞检测方法及装置

Country Status (1)

Country Link
CN (1) CN116361803A (zh)

Similar Documents

Publication Publication Date Title
CN109408393B (zh) 应用测试方法、装置及设备和计算机可读存储介质
CN106502876B (zh) 一种热点函数确定的方法及相关设备
US20120239987A1 (en) System and Method of Manipulating Virtual Machine Recordings for High-Level Execution and Replay
US9183072B1 (en) Error troubleshooting using a correlated knowledge base
CN106649084A (zh) 函数调用信息的获取方法及装置、测试设备
CN113190464A (zh) mock测试方法、装置、电子设备及介质
US20130346947A1 (en) Comprehensively testing functionality of a computer program based on program code changes
CN109783316B (zh) 系统安全日志篡改行为的识别方法及装置、存储介质、计算机设备
CN105512562B (zh) 一种漏洞挖掘方法、装置及电子设备
CN110908880A (zh) 埋点代码注入方法、事件上报方法及其相关设备
CN111694733A (zh) 一种软件开发工具包sdk的api测试方法以及测试装置
US11055209B2 (en) Application analysis with flexible post-processing
US10275595B2 (en) System and method for characterizing malware
CN110889116A (zh) 一种广告拦截方法、装置及电子设备
CN112463519A (zh) 基于Flutter的页面使用行为数据无埋点统计方法、设备及存储介质
CN108170605A (zh) Bug信息的提交方法、客户端与计算机可读存储介质
US11630714B2 (en) Automated crash recovery
CN111708704A (zh) 一种云真机测试方法、装置、终端及存储介质
CN111858339A (zh) 内存分析方法、设备和系统以及计算设备、计算机可读存储介质
CN116361803A (zh) 漏洞检测方法及装置
CN112631949B (zh) 一种调试方法、装置、计算机设备及存储介质
CN115588458A (zh) 存储设备测试方法、系统、设备和可读存储介质
CN110781287B (zh) 一种提供电子书籍的方法与设备
CN113051095A (zh) 客户端运行错误的复现方法、装置、电子设备及存储介质
CN113268221A (zh) 文件匹配方法、装置、存储介质及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination