CN116737547A - 应用程序检测方法、装置、设备及存储介质 - Google Patents
应用程序检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116737547A CN116737547A CN202310551882.XA CN202310551882A CN116737547A CN 116737547 A CN116737547 A CN 116737547A CN 202310551882 A CN202310551882 A CN 202310551882A CN 116737547 A CN116737547 A CN 116737547A
- Authority
- CN
- China
- Prior art keywords
- application program
- performance
- sdk
- detection result
- application
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 97
- 238000009434 installation Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 29
- 230000002159 abnormal effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 13
- 238000011056 performance test Methods 0.000 claims description 11
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种应用程序检测方法、装置、设备及存储介质,涉及计算机技术领域,具体涉及应用程序检测、数据处理等技术领域,可应用于性能检测、隐私检测等场景下。具体实现方案包括:接收应用程序的安装包,所述安装包接入了软件开发套件SDK,所述SDK具有对接入的应用程序的性能参数进行获取的功能;根据所述安装包,安装所述应用程序,并运行所述应用程序;通过所述SDK获取所述应用程序的所述性能参数;分析所述性能参数,得到性能检测结果。本公开能够提高应用程序检测的效率。
Description
技术领域
本公开涉及计算机技术领域,具体涉及应用程序检测、数据处理等技术领域,可应用于性能检测、隐私检测等场景下,尤其涉及一种应用程序检测方法、装置、设备及存储介质。
背景技术
在应用程序的开发完成后,需要对应用程序进行性能检测。性能检测是指根据应用程序的性能指标(如CPU占用、内存占用等),确定应用程序的性能。
目前,需要人工对相应的应用程序重新编码,将具有检测功能的模块嵌入到应用程序的安装包中,费时费力。
发明内容
本公开提供了一种应用程序检测方法、装置、设备及存储介质,能够对提高检测应用程序的效率。
根据本公开的第一方面,提供了一种应用程序检测方法,包括:
接收应用程序的安装包,安装包接入了软件开发套件SDK,SDK具有对接入的应用程序的性能参数进行获取的功能;根据安装包,安装应用程序,并运行应用程序;通过SDK获取应用程序的性能参数;分析性能参数,得到性能检测结果。
根据本公开的第二方面,提供了一种应用程序检测装置,该装置包括:获取模块和处理模块。
获取模块,用于接收应用程序的安装包,安装包接入了软件开发套件SDK,SDK具有对接入的应用程序的性能参数进行获取的功能;根据安装包,安装应用程序,并运行应用程序;通过SDK获取应用程序的性能参数。
处理模块,用于分析性能参数,得到性能检测结果。
根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行根据第一方面的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据第一方面的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的应用程序检测方法的流程示意图;
图2为本公开实施例提供的应用程序检测方法的另一种流程示意图;
图3为本公开实施例提供的应用程序检测方法的又一种流程示意图;
图4为本公开实施例提供的应用程序检测方法的又一种流程示意图;
图5为本公开实施例提供的应用程序检测装置的组成示意图;
图6为本公开实施例提供的电子设备的组成示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
应当理解,在本公开各实施例中,字符“/”一般表示前后关联对象是一种“或”的关系。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在应用程序的开发完成后,需要对应用程序进行性能检测。性能检测是指根据应用程序的性能指标(如CPU占用、内存占用等),确定应用程序的性能。
目前,需要人工对相应的应用程序重新编码,将具有检测功能的模块嵌入到应用程序的安装包中,费时费力。
在此背景技术下,本公开提供了一种应用程序检测方法,可以提高性能检测效率。
本公开实施例提供的应用程序检测方法的执行主体可以是计算机或服务器,或者还可以是其他具有数据处理能力的电子设备;或者,该方法的执行主体也可以是上述电子设备中的处理器(例如中央处理器(central processing unit,CPU));再或者,该方法的执行主体还可以是上述电子设备中安装的能够实现该方法的功能的应用程序(application,APP);又或者,该方法的执行主体又可以是上述电子设备中具有该方法的功能的功能模块或单元等。在此对该方法的执行主体不作限制。
例如,服务器可以是应用程序检测平台的后台服务器。
一些实施例中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。
下面结合附图对该应用程序检测方法进行示例性说明。
图1为本公开实施例提供的应用程序检测方法的流程示意图。如图1所示,该方法可以包括:
S101、接收应用程序的安装包。
其中,安装包接入了软件开发套件(Software Development Kit,SDK),该SDK具有对接入的应用程序的性能参数进行获取的功能。
其中,应用程序可以是需要进行检测的应用程序。
示例性地,可以为安装包配置相应的接口,通过该接口为安装包接入SDK。
示例性地,用户可以对安装包接入的SDK的相关参数进行配置,使SDK能够获取用户期望的性能参数。
示例性地,性能参数可以是能够反映应用程序运行性能的相关数据。
例如,性能参数可以是应用程序运行时需要计算的文件的大小、需要存在内存中的文件的大小等。
S102、根据安装包,安装应用程序,并运行应用程序。
示例性地,可以直接在执行该应用程序检测方法的电子设备上安装应用程序并运行应用程序,当然,也可以采用其他方式将应用程序安装并运行在电子设备上,此处不作限制,只要能够在电子设备上安装并运行应用程序即可。运行应用程序时,可以执行应用程序中的任意功能。
S103、通过SDK获取应用程序的性能参数。
示例性地,SDK中可以包括hook程序,在安装应用程序时直接将hook程序加载至应用程序内,从而通过hook程序获取应用程序的性能参数。SDK中也可以包括加载hook程序的加载程序而不包括hook程序,加载程序可以将存储在服务器中的hook程序加载至应用程序中,从而实现通过hook程序获取应用程序的性能参数。
需要说明的是,上述对于通过SDK获取性能参数的举例,仅为一种示例性的说明,在实际应用中,还可以根据获取应用程序的性能参数的相关技术生成SDK,以实现能够通过SDK来获取应用程序的性能参数。
S104、分析性能参数,得到性能检测结果。
示例性地,以性能参数为应用程序运行时需要计算的文件的大小为例,可以通过计算得到应用程序运行时所需要的算力,得到的算力即为应用程序的性能检测结果。以性能参数为需要存在内存中的文件的大小为例,可以通过计算得到应用程序运行时所需要占用的内存大小,得到的所需要占用的内存大小即为应用程序的性能检测结果。
本公开实施例通过接收应用程序的接入了能获取性能参数的SDK的安装包,安装并运行安装包,可以无需对应用程序进行重新编码便获取到应用程序的性能参数,再对性能参数进行分析,得到性能检测结果,即可完成对应用程序的性能检测,提高了应用程序的检测效率。同时,可以通过对不同应用程序的安装包的SDK进行配置,快速地实现对不同应用程序的性能检测,提高了应用程序的检测效率。
一种可能的实施例中,SDK采用hook技术实现SDK对接入的应用程序的性能参数进行获取的功能。
示例性地,配置SDK抓取的进程为实现性能参数的获取所需要抓取的进程,例如,可以配置SDK实现性能参数的获取所需要抓取的进程的PID。
示例性地,可以通过集成在SDK中的hook程序获取应用程序的性能参数。hook程序可以获取应用程序相关的消息,根据应用程序相关的消息得到应用程序的性能参数。hook程序可以为根据inline Hook技术以及frida持久化技术得到的。inline Hook技术可以实现在汇编代码层面修改原函数跳转位置,具有较好的兼容性;frida持久化技术可以实现在应用程序中加载动态数据库中的代码并执行,可以实现动态更新Hook代码。
需要说明的是,上述对于通过hook技术获取性能参数的举例,仅为一种示例性的说明,在实际应用中,还可以其他相关技术实现hook技术,此处不作限制。
本实施例通过采用hook技术实现SDK对应用程序的性能参数的获取,利用hook技术能准确地获取应用程序中的性能参数的能力,实现准确地对应用程序的性能参数的获取,准确地得到应用程序中的性能参数。
图2为本公开实施例提供的应用程序检测方法的另一种流程示意图。如图2所示,上述通过SDK获取应用程序的性能参数,可以包括:
S201、抓取应用程序运行过程中至少一个进程。
示例性地,可以采用hook技术抓取进程相关的消息,也可以抓取进程相关的所有节点。
S202、根据抓取到的进程,获取进程的性能参数。
示例性地,可以根据抓取的进程的相关消息,得到抓取到的进程的性能参数;将应用程序中各进程的性能参数进行汇总,得到应用程序的性能数据。
本实施例通过抓取应用程序运行时的各进程,可以分别准确地获取到应用程序的各进程的性能参数,根据所有进程的性能参数,可以准确地获取到应用程序的性能参数。
一种可能的实施例中,上述根据安装包,安装应用程序,并运行应用程序,可以包括:
根据安装包,将应用程序安装在预先配置的虚拟机中,并在虚拟机中运行应用程序。
示例性地,可以在服务器中,根据安装包对应的应用程序所需的运行环境,在安装应用程序前,预先配置好符合应用程序所需的运行环境的虚拟机。例如,应用程序为AndroidTM端的应用程序时,可以为虚拟机配置AndroidTM操作***;应用程序为WindowsTM端的应用程序时,可以为虚拟机配置WindowsTM操作***。
本实施例通过将应用程序安装在虚拟机中,虚拟机为根据应用程序所需运行环境预先配置的,可以为准确地为应用程序提供所需的运行环境,保证应用程序运行的稳定性。
一种可能的实施例中,性能检测结果中包括至少一个性能指标,每个性能指标对应有第一阈值,该方法还可以包括:
分别判断每个性能指标是否大于或等于对应的第一阈值,若是,则对相应的性能指标添加第一异常标识,第一异常标识用于指示对应的性能指标存在异常。
其中,性能指标用于指示应用程序对硬件资源的使用情况。示例地,性能指标可以为应用程序对服务器计算资源的占用量、内存的占用量等。
示例性地,每个性能指标对应的第一阈值可以相同或不同,对此不做限制;对第一阈值的取值也不做限制。例如,性能指标A和B对应的第一阈值可以分别为10、100,也可以均为100。
示例性地,添加第一异常标识可以是为对应的性能指标添加“*”号,也可以是将对应的性能指标显示为红色,对第一异常标识的形式不作限制。
本实施例通过判断每个性能指标是否大于或等于对应的第一阈值,并对大于或等于对应的第一阈值的性能指标添加第一异常标识,可以对出现异常的性能指标进行标记,以便于根据性能检测结果确定应用程序的优劣,提高了检测效率。
一种可能的实施例中,性能检测结果中包括至少一个性能指标,每个性能指标对应有第二阈值。图3为本公开实施例提供的应用程序检测方法的又一种流程示意图。如图3所示,该方法还可以包括:
S301、根据当前性能检测结果和历史性能检测结果,确定当前性能检测结果中各性能指标分别与历史性能检测结果中对应的各性能指标的差值的绝对值。
一些具体实现方式中,历史性能检测结果可以是与应用程序当前版本相同的应用程序的所有旧性能检测结果的平均值,或者,与应用程序当前版本相同的应用程序的检测时间最近的旧性能检测结果。例如,对于1.0版本的应用程序,存在三个旧性能检测结果,其中三个性能检测结果中的性能指标A,以旧性能检测结果得到的时间由远至近排序,分别为11、10和12,则性能指标A的历史性能检测结果可以是11、10和12三个值的平均值11,还可以是检测时间最近的旧性能检测结果12。
另一些具体实现方式中,历史性能检测结果也可以是与应用程序当前版本相近的应用程序的性能检测结果。例如,当前应用程序的版本号为1.2,则历史性能检测结果可以是版本号为1.1的应用程序的性能检测结果。
示例性地,历史性能检测结果中性能指标A、B和C的值分别为10、20、50,当前性能检测结果中性能指标A、B和C的值分别为15、23、44,则确定的性能指标A的当前性能检测结果与历史性能检测结果的差值的绝对值为5,确定的性能指标B的当前性能检测结果与历史性能检测结果的差值的绝对值为3,确定的性能指标C的当前性能检测结果与历史性能检测结果的差值的绝对值为6。
S302、对差值的绝对值大于第二阈值的当前性能检测结果中的性能指标,添加第二异常标识,第二异常标识用于指示对应的性能指标存在异常。
示例性地,每个性能指标对应的第二阈值可以相同或不同,对此不做限制;第二阈值与第一阈值也可以相同或不同,对此不做限制;对第一阈值的取值也不做限制。
示例性地,第二异常标识和第一异常标识的形式可以相同或不同,对第二异常标识的形式也不作限制。
本实施例通过分别确定每个性能指标的当前性能检测结果与历史性能检测结果的差值的绝对值,并为每个差值的绝对值大于第二阈值的性能指标添加第二异常标识,可以标记出当前存在异常的性能指标,以便于根据性能检测结果确定应用程序的优劣,提高了检测效率。
一种可能的实施例中,SDK还具有对接入的应用程序所调用的API接口以及通过所调用的API接口获取到的接口数据进行获取的功能;图4为本公开实施例提供的应用程序检测方法的又一种流程示意图。如图4所示,该方法还可以包括:
S401、通过SDK获取应用程序所调用的API接口以及接口数据。
示例性地,SDK可以采用hook技术实现SDK对接入的应用程序所调用的API接口以及接口数据进行获取的功能。可以通过SDK获取应用程序运行过程中每个进程所调用的API接口以及接口数据,准确地得到应用程序所调用的API接口以及接口数据。
S402、分析应用程序所调用的API接口以及接口数据,得到隐私检测结果。
其中,隐私检测结果可以用于指示应用程序是否满足预设规则。
示例性地,预设规则可以包括用户敏感的数据对应的API接口的名称和/或接口数据的类型,可以根据应用程序所调用的API接口的名称和/或接口数据的类型,与预设规则进行比对,判断预设规则中是否存在应用程序所调用的API接口以及接口数据的类型,若存在,则隐私检测结果为应用程序未通过隐私检测。其中,应用程序未通过隐私检测表征了应用程序可能调用了用户敏感的数据。以便于应用程序开发者对未通过隐私检测的应用程序及时进行更新,以使应用程序满足隐私要求。
本实施例通过SDK可以准确地获取应用程序所调用的API接口以及接口数据,进而能对应用程序所调用的API接口以及接口数据进行分析,可以得到应用程序的隐私检测结果,实现对应用程序的隐私检测。
上述主要从方法的角度对本公开实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术目标应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术目标可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在示例性实施例中,本公开实施例还提供一种应用程序检测装置,可以用于实现如前述实施例的应用程序检测方法。
图5为本公开实施例提供的应用程序检测装置的组成示意图。如图5所示,该装置可以包括:获取模块501和处理模块502。
获取模块501,用于接收应用程序的安装包,安装包接入了软件开发套件SDK,SDK具有对接入的应用程序的性能参数进行获取的功能;根据安装包,安装应用程序,并运行应用程序;通过SDK获取应用程序的性能参数。
处理模块502,用于分析性能参数,得到性能检测结果。
一种可能的实施方式中,SDK采用hook技术实现SDK对接入的应用程序的性能参数进行获取的功能。
一种可能的实施方式中,获取模块501,具体用于:
抓取应用程序运行过程中至少一个进程;根据抓取到的进程,获取进程的性能参数。
一种可能的实施方式中,获取模块501,具体用于:
根据安装包,将应用程序安装在预先配置的虚拟机中,并在虚拟机中运行应用程序。
一种可能的实施方式中,性能检测结果中包括至少一个性能指标,每个性能指标对应有第一阈值;处理模块502,还用于:
分别判断每个性能指标是否大于或等于对应的第一阈值;若是,则对相应的性能指标添加第一异常标识,第一异常标识用于指示对应的性能指标存在异常。
一种可能的实施方式中,性能检测结果中包括至少一个性能指标,每个性能指标对应有第二阈值;处理模块502,还用于:
根据当前性能检测结果和历史性能检测结果,确定当前性能检测结果中各性能指标分别与历史性能检测结果中对应的各性能指标的差值的绝对值;对差值的绝对值大于第二阈值的当前性能检测结果中的性能指标,添加第二异常标识,第二异常标识用于指示对应的性能指标存在异常。
一种可能的实施方式中,SDK还具有对接入的应用程序所调用的API接口以及通过所调用的API接口获取到的接口数据进行获取的功能;处理模块502,还用于:
通过SDK获取应用程序所调用的API接口以及接口数据。
处理模块502,还用于:
分析应用程序所调用的API接口以及接口数据,得到隐私检测结果。
需要说明的是,图5中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,还可以将两个或两个以上的功能集成在一个处理模块中。本公开实施例对此不作限制。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
示例性实施例中,电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上实施例所述的方法。该电子设备可以是上述计算机或服务器。
示例性实施例中,可读存储介质可以是存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据以上实施例所述的方法。
示例性实施例中,计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据以上实施例所述的方法。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如应用程序检测方法。例如,在一些实施例中,应用程序检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的应用程序检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用程序检测方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种应用程序检测方法,所述方法包括:
接收应用程序的安装包,所述安装包接入了软件开发套件SDK,所述SDK具有对接入的应用程序的性能参数进行获取的功能;
根据所述安装包,安装所述应用程序,并运行所述应用程序;
通过所述SDK获取所述应用程序的所述性能参数;
分析所述性能参数,得到性能检测结果。
2.根据权利要求1所述的方法,所述SDK采用hook技术实现所述SDK对接入的应用程序的性能参数进行获取的功能。
3.根据权利要求2所述的方法,所述通过所述SDK获取所述应用程序的所述性能参数,包括:
抓取所述应用程序运行过程中至少一个进程;
根据抓取到的所述进程,获取所述进程的性能参数。
4.根据权利要求1-3任一项所述的方法,所述根据所述安装包,安装所述应用程序,并运行所述应用程序,包括:
根据所述安装包,将所述应用程序安装在预先配置的虚拟机中,并在所述虚拟机中运行所述应用程序。
5.根据权利要求1-4任一项所述的方法,所述性能检测结果中包括至少一个性能指标,每个所述性能指标对应有第一阈值,所述方法还包括:
分别判断每个所述性能指标是否大于或等于对应的第一阈值;
若是,则对相应的所述性能指标添加第一异常标识,所述第一异常标识用于指示对应的性能指标存在异常。
6.根据权利要求1-5任一项所述的方法,所述性能检测结果中包括至少一个性能指标,每个所述性能指标对应有第二阈值,所述方法还包括:
根据当前性能检测结果和历史性能检测结果,确定当前性能检测结果中各性能指标分别与历史性能检测结果中对应的各性能指标的差值的绝对值;
对所述差值的绝对值大于所述第二阈值的当前性能检测结果中的性能指标,添加第二异常标识,所述第二异常标识用于指示对应的性能指标存在异常。
7.根据权利要求1-6任一项所述的方法,所述SDK还具有对接入的应用程序所调用的API接口以及通过所调用的API接口获取到的接口数据进行获取的功能;所述方法还包括:
通过所述SDK获取所述应用程序所调用的API接口以及所述接口数据;
分析所述应用程序所调用的API接口以及所述接口数据,得到隐私检测结果。
8.一种应用程序检测装置,所述装置包括:
获取模块,用于接收应用程序的安装包,所述安装包接入了软件开发套件SDK,所述SDK具有对接入的应用程序的性能参数进行获取的功能;根据所述安装包,安装所述应用程序,并运行所述应用程序;通过所述SDK获取所述应用程序的所述性能参数;
处理模块,用于分析所述性能参数,得到性能检测结果。
9.根据权利要求8所述的装置,所述SDK采用hook技术实现所述SDK对接入的应用程序的性能参数进行获取的功能。
10.根据权利要求9所述的装置,所述获取模块,具体用于:
抓取所述应用程序运行过程中至少一个进程;根据抓取到的所述进程,获取所述进程的性能参数。
11.根据权利要求8-10任一项所述的装置,所述获取模块,具体用于:
根据所述安装包,将所述应用程序安装在预先配置的虚拟机中,并在所述虚拟机中运行所述应用程序。
12.根据权利要求8-11任一项所述的装置,所述性能检测结果中包括至少一个性能指标,每个所述性能指标对应有第一阈值,所述处理模块,还用于:
分别判断每个所述性能指标是否大于或等于对应的第一阈值;
若是,则对相应的所述性能指标添加第一异常标识,所述第一异常标识用于指示对应的性能指标存在异常。
13.根据权利要求8-12任一项所述的装置,所述性能检测结果中包括至少一个性能指标,每个所述性能指标对应有第二阈值,所述处理模块,还用于:
根据当前性能检测结果和历史性能检测结果,确定当前性能检测结果中各性能指标分别与历史性能检测结果中对应的各性能指标的差值的绝对值;
对所述差值的绝对值大于所述第二阈值的当前性能检测结果中的性能指标,添加第二异常标识,所述第二异常标识用于指示对应的性能指标存在异常。
14.根据权利要求8-13任一项所述的装置,所述SDK还具有对接入的应用程序所调用的API接口以及通过所调用的API接口获取到的接口数据进行获取的功能;所述处理模块,还用于:
通过所述SDK获取所述应用程序所调用的API接口以及所述接口数据;
所述处理模块,还用于:
分析所述应用程序所调用的API接口以及所述接口数据,得到隐私检测结果。
15.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据权利要求1-7任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310551882.XA CN116737547A (zh) | 2023-05-16 | 2023-05-16 | 应用程序检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310551882.XA CN116737547A (zh) | 2023-05-16 | 2023-05-16 | 应用程序检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737547A true CN116737547A (zh) | 2023-09-12 |
Family
ID=87910666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310551882.XA Pending CN116737547A (zh) | 2023-05-16 | 2023-05-16 | 应用程序检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737547A (zh) |
-
2023
- 2023-05-16 CN CN202310551882.XA patent/CN116737547A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114816393B (zh) | 信息生成方法、装置、设备以及存储介质 | |
CN114417780B (zh) | 状态同步方法、装置、电子设备及存储介质 | |
CN113641544B (zh) | 用于检测应用状态的方法、装置、设备、介质和产品 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN117520195A (zh) | 测试接口的方法、装置、设备、存储介质及程序产品 | |
CN112817660A (zh) | 扩展小程序能力的方法、装置、设备以及存储介质 | |
CN112799642B (zh) | 用于处理数据的方法、装置、设备以及存储介质 | |
CN116737547A (zh) | 应用程序检测方法、装置、设备及存储介质 | |
CN113010285B (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN114116373A (zh) | 一种网络请求监控方法、装置、电子设备及存储介质 | |
CN111538656B (zh) | 梯度检查的监控方法、装置、设备及存储介质 | |
CN113535020A (zh) | 用于生成应用图标的方法、装置、设备、介质和产品 | |
CN113961263B (zh) | 小程序分发方法、装置、设备和存储介质 | |
CN115953889B (zh) | 一种防拆功能检测方法、***、装置、设备及存储介质 | |
CN115422555B (zh) | 后门程序检测方法、装置、电子设备及存储介质 | |
CN113377660B (zh) | 测试方法和装置 | |
CN116302897B (zh) | 一种数据集的建立方法、装置、电子设备及存储介质 | |
CN114647578B (zh) | 一种***测试方法、装置、设备以及存储介质 | |
CN113535187B (zh) | 服务上线方法、服务更新方法及服务提供方法 | |
CN114791996B (zh) | 信息处理方法、装置、***、电子设备及存储介质 | |
CN111026571B (zh) | 处理器降频处理方法、装置及电子设备 | |
CN115529346A (zh) | 服务变更方法、装置、设备及存储介质 | |
CN117520080A (zh) | 一种服务器测试方法、装置、设备及介质 | |
CN115604091A (zh) | 数据处理方法、装置、基板控制管理***及电子设备 | |
CN118170617A (zh) | 集群异常的检测方法及装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |