System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用程序检测方法、设备及存储介质技术_技高网

应用程序检测方法、设备及存储介质技术

技术编号:40607135 阅读:6 留言:0更新日期:2024-03-12 22:13
本公开实施例提供一种应用程序检测方法、设备及存储介质,该方法包括:获取待检测的目标应用程序对应的初始代码信息,以及,获取目标应用程序对应的已加载代码信息;将多个按序排列的初始字节信息与多个按序排列的已加载字节信息,从按序排列中的第一个字节信息开始一一进行对比;若初始字节信息与已加载字节信息不一致,则确定已加载字节信息以及已加载字节信息之后预设数量的已加载字节信息,将其添加到预设文件,继续对比预设数量的已加载字节信息的下一个字节信息,响应于多个按序排列的初始字节信息与多个按序排列的已加载字节信息对比结束,通过预设文件检测目标应用程序中的程序错误信息。本申请可以提高应用程序的故障检测效率。

【技术实现步骤摘要】

本公开实施例涉及计算机,尤其涉及一种应用程序检测方法、设备及存储介质


技术介绍

1、目前,在应用程序出现崩溃、卡顿等故障时,需要上报该应用程序对应的dmp(datamigration protocol,数据备份格式)文件,通过dmp文件确定故障原因。其中,很多故障并非应用程序自身问题,而是由于注入的第三方模块,以inline hook(内联钩子)的方式修改了应用程序的代码导致的。因此,在应用程序出现故障时,需要对应用程序中的程序错误信息(例如,内联钩子)进行检测。

2、相关技术中,在应用程序出现故障时,获取该应用程序的内存数据;利用内存数据,对应用程序的程序错误信息(例如,内联钩子)进行检测。其中,内存数据包括该应用程序对应的所有模块数据。

3、然而,专利技术人发现现有技术至少存在如下技术问题:由于内存数据包括该应用程序对应的所有模块数据,导致内存数据的数据量较大,因此通过内存数据对应用程序的内联钩子进行检测的时间较长,影响了应用程序的故障检测效率。


技术实现思路

1、本公开实施例提供一种应用程序检测方法、设备及存储介质,可以快速检测应用程序中的程序错误信息,提高应用程序的故障检测效率。

2、第一方面,本公开实施例提供一种应用程序检测方法,包括:

3、获取待检测的目标应用程序对应的初始代码信息,其中所述初始代码信息包括多个按序排列的初始字节信息,以及,获取所述目标应用程序对应的已加载代码信息,其中所述已加载代码信息包括多个按序排列的已加载字节信息;

4、将所述多个按序排列的初始字节信息与所述多个按序排列的已加载字节信息,从所述按序排列中的第一个字节信息开始一一进行对比;

5、若所述初始字节信息与所述已加载字节信息一致,则继续对比所述已加载字节信息的下一个字节信息,若所述初始字节信息与所述已加载字节信息不一致,则确定所述已加载字节信息以及所述已加载字节信息之后的预设数量的已加载字节信息;

6、将所述已加载字节信息以及所述已加载字节信息之后的预设数量的已加载字节信息添加到预设文件,继续对比所述已加载字节信息之后的预设数量的已加载字节信息的下一个字节信息;

7、响应于所述多个按序排列的初始字节信息与所述多个按序排列的已加载字节信息对比结束,通过所述预设文件检测所述目标应用程序中的程序错误信息。

8、第二方面,本公开实施例提供一种应用程序检测装置,包括:

9、获取模块,用于获取待检测的目标应用程序对应的初始代码信息,其中所述初始代码信息包括多个按序排列的初始字节信息,以及,获取所述目标应用程序对应的已加载代码信息,其中所述已加载代码信息包括多个按序排列的已加载字节信息;

10、对比模块,用于将所述多个按序排列的初始字节信息与所述多个按序排列的已加载字节信息,从所述按序排列中的第一个字节信息开始一一进行对比;

11、确定模块,用于若所述初始字节信息与所述已加载字节信息一致,则继续对比所述已加载字节信息的下一个字节信息,若所述初始字节信息与所述已加载字节信息不一致,则确定所述已加载字节信息以及所述已加载字节信息之后的预设数量的已加载字节信息;

12、添加模块,用于将所述已加载字节信息以及所述已加载字节信息之后的预设数量的已加载字节信息添加到预设文件,继续对比所述已加载字节信息之后的预设数量的已加载字节信息的下一个字节信息;

13、检测模块,用于响应于所述多个按序排列的初始字节信息与所述多个按序排列的已加载字节信息对比结束,通过所述预设文件检测所述目标应用程序中的程序错误信息。

14、第三方面,本公开实施例提供一种电子设备,包括:

15、处理器,以及与所述处理器通信连接的存储器;

16、所述存储器存储计算机执行指令;

17、所述处理器执行所述存储器存储的计算机执行指令,以实现如上第一方面所述的应用程序检测方法。

18、第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面所述的应用程序检测方法。

19、第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面所述的应用程序检测方法。

20、本实施例提供的应用程序检测方法、设备及存储介质,该方法包括:获取待检测的目标应用程序对应的初始代码信息,其中初始代码信息包括多个按序排列的初始字节信息,以及,获取目标应用程序对应的已加载代码信息,其中已加载代码信息包括多个按序排列的已加载字节信息;将多个按序排列的初始字节信息与多个按序排列的已加载字节信息,从按序排列中的第一个字节信息开始一一进行对比;若初始字节信息与已加载字节信息一致,则继续对比已加载字节信息的下一个字节信息,若初始字节信息与已加载字节信息不一致,则确定已加载字节信息以及已加载字节信息之后的预设数量的已加载字节信息;将已加载字节信息以及已加载字节信息之后的预设数量的已加载字节信息添加到预设文件,继续对比已加载字节信息之后的预设数量的已加载字节信息的下一个字节信息;响应于多个按序排列的初始字节信息与多个按序排列的已加载字节信息对比结束,通过预设文件检测目标应用程序中的程序错误信息。在本申请实施例中,由于通过对比目标应用程序对应的初始代码信息和已加载代码信息,将不一致的固定长度(例如5个字节)的已加载代码信息添加到预设文件(例如minidmp文件),其中预设文件中存储的是与初始代码信息存在差异的已加载代码信息,而存在差异的已加载代码信息的数据量较小,便于快速检测目标应用程序中的程序错误信息,因此提高了应用程序的故障检测效率。

本文档来自技高网...

【技术保护点】

1.一种应用程序检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,其中获取待检测的目标应用程序对应的初始代码信息,以及,获取所述目标应用程序对应的已加载代码信息,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标应用程序包括多个程序文件;

4.根据权利要求2所述的方法,其特征在于,所述从所述代码节包括的多个代码页中确定被修改的至少一个目标代码页,包括:

5.根据权利要求1或2所述的方法,其特征在于,所述目标应用程序包括多个程序文件,每个程序文件的代码信息中包括至少一个代码节,其中所述代码节包括多个代码页,所述初始代码信息与所述已加载代码信息为同一个目标代码页对应的代码信息;

6.根据权利要求5所述的方法,其特征在于,一个所述程序文件对应一个重定位表,所述重定位表中包括多个代码页标识各自分别对应的重定位信息;

7.根据权利要求1所述的方法,其特征在于,所述获取待检测的目标应用程序对应的初始代码信息之前,还包括:

8.根据权利要求1所述的方法,其特征在于,所述程序错误信息包括内联钩子;

9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的应用程序检测方法。

...

【技术特征摘要】

1.一种应用程序检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,其中获取待检测的目标应用程序对应的初始代码信息,以及,获取所述目标应用程序对应的已加载代码信息,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标应用程序包括多个程序文件;

4.根据权利要求2所述的方法,其特征在于,所述从所述代码节包括的多个代码页中确定被修改的至少一个目标代码页,包括:

5.根据权利要求1或2所述的方法,其特征在于,所述目标应用程序包括多个程序文件,每个程序文件的代码信息中包括至少一个代码节,其中所述代码节包括多个代码页,所述初始代码信息与所述已加载代码信息为同一个目标代码页对...

【专利技术属性】
技术研发人员:许鱼
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

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

1