【技术实现步骤摘要】
应用差异检测方法、装置、设备及存储介质
[0001]本公开涉及计算机
,具体涉及应用程序开发
、
数据处理等
,可应用于应用差异检测
、
功能改动结果确定等场景下,尤其涉及一种应用差异检测方法
、
装置
、
设备及存储介质
。
技术介绍
[0002]应用开发者在发布应用程序的新版本之前,一般会检测应用程序的新旧版本之间实现相同功能的执行流程差异
。
[0003]目前,需要人为地分析旧版本应用在开发时人工记录的执行流程日志
、
以及新版本应用在开发时人工记录的执行流程日志,从而对新旧版本应用的执行流程进行比对,得到新旧版本应用之间的执行流程差异
。
[0004]但是,目前这种检测应用程序新旧版本间的执行流程差异的方法,检测效率低下
。
技术实现思路
[0005]本公开提供了一种应用差异检测方法
、
装置
、
设备及存储介质,能够提高执行流程差异检测的效率和准确性
。
[0006]根据本公开的第一方面,提供了一种应用差异检测方法,包括:
[0007]为第一应用和第二应用嵌入
hook
代码,第一应用与第二应用为同一个应用的不同版本,第一应用与第二应用均包括目标功能,
hook
代码用于获取应用运行时所执行的函数;分别运行第一应用和第二应用,以使第一应用和第二应用分别执行目标功能;通 ...
【技术保护点】
【技术特征摘要】
1.
一种应用差异检测方法,所述方法包括:为第一应用和第二应用嵌入
hook
代码,所述第一应用与所述第二应用为同一个应用的不同版本,所述第一应用与所述第二应用均包括目标功能,所述
hook
代码用于获取应用运行时所执行的函数;分别运行所述第一应用和所述第二应用,以使所述第一应用和所述第二应用分别执行所述目标功能;通过所述
hook
代码获取所述第一应用执行所述目标功能时所执行的第一函数的执行信息,以及获取所述第二应用执行目标功能时所执行的第二函数的执行信息,所述执行信息包括函数名称;根据所述第一函数的执行信息和所述第二函数的执行信息,得到差异检测结果
。2.
根据权利要求1所述的方法,所述
hook
代码封装于软件开发套件
SDK
中,所述为所述第一应用和所述第二应用嵌入
hook
代码,包括:分别解析所述第一应用和所述第二应用的可执行文件,分别得到所述第一应用运行时加载的第一个执行文件的位置和所述第二应用运行时加载的第一个执行文件的位置;将所述软件开发套件
SDK
分别插入到所述第一应用运行时加载的第一个执行文件的位置
、
所述第二应用运行时加载的第一个执行文件的位置
。3.
根据权利要求1或2所述的方法,在所述根据所述第一函数的执行信息和所述第二函数的执行信息,得到差异检测结果之前,所述方法还包括:将所述第一函数的执行信息存储于所述第一应用对应的沙盒中;将所述第二函数的执行信息存储于所述第二应用对应的沙盒中
。4.
根据权利要求1‑3任一项所述的方法,所述执行信息还包括线程运行信息,所述线程运行信息用于指示函数是否在主线程中运行
。5.
根据权利要求1‑4任一项所述的方法,所述执行信息还包括执行耗时信息,所述执行耗时信息用于指示函数执行的时长
。6.
根据权利要求1‑5任一项所述的方法,所述根据所述第一函数的执行信息和所述第二函数的执行信息,得到差异检测结果,包括:向服务器发送所述第一函数的执行信息和所述第二函数的执行信息;接收来自所述服务器的差异检测结果
。7.
根据权利要求1‑6任一项所述的方法,在所述根据所述第一函数的执行信息和所述第二函数的执行信息,得到差异检测结果之前,所述方法还包括:确定所述第一应用和所述第二应用对所述目标功能执行完毕
。8.
一种应用差异检测装置,所述装置包括:嵌入模块,用于为第一应用和第二应用嵌入
hook
代码,所述第一应用与所述第二应用为同一个应用的不同版本,所述第一应用与所述第二应用均包括目标功能,所述
hook
代码用于获取应用运...
【专利技术属性】
技术研发人员:贾锟,龚佳亮,郭彪,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。