【技术实现步骤摘要】
应用程序包分析方法、装置及计算机可读存储介质
本说明书实施例涉及互联网
,尤其涉及一种应用程序包分析方法、装置及计算机可读存储介质。
技术介绍
现在的应用程序对应的应用程序包的代码体积越发庞大,各个开发团队仅熟悉自己开发的模块,各个团队之间定义好对应的接口,既可协作完成应用程序的开发。在后续的测试和维护过程中,需要对应用程序包进行业务分析,如果应用程序涉及到安全或者风险问题,往往关联多个模块,涉及多个开发团队,测试人员或安全人员需要与不同团队的人沟通后去深入代码层找寻问题。或者,聘请领域专家去研读代码,对应用程序包进行相关分析,找到问题所在。由此可见,现有技术中对应用程序包的分析需要较大的借助于人力,测试人员或安全人员会消耗大量的时间去做代码阅读和审计,以实现对应用程序包的业务分析,例如:漏洞分析、功能模块分析等。
技术实现思路
本说明书实施例提供及一种应用程序包分析方法、装置及计算机可读存储介质。第一方面,本说明书实施例提供一种应用程序包分析方法,包括:对目标应用程序包进行静态分析,获得静态分析结果,所述静态分析结果包括所述目标应用程序包中的多个对象以及每个对象的关系信息;以所述静态分析结果中的对象为节点,对象的关系信息为节点间的关联关系,构建目标知识图谱;对所述目标应用程序包进行动态分析,获得动态分析结果,所述动态分析结果包括所述目标应用程序包中的预设对象的关系信息,基于所述动态分析结果,在所述目标知识图谱中更新与所述预设对象对应的 ...
【技术保护点】
1.一种应用程序包分析方法,包括:/n对目标应用程序包进行静态分析,获得静态分析结果,所述静态分析结果包括所述目标应用程序包中的多个对象以及每个对象的关系信息;/n以所述静态分析结果中的对象为节点,对象的关系信息为节点间的关联关系,构建目标知识图谱;/n对所述目标应用程序包进行动态分析,获得动态分析结果,所述动态分析结果包括所述目标应用程序包中的预设对象的关系信息,基于所述动态分析结果,在所述目标知识图谱中更新与所述预设对象对应的第一目标节点的关联关系;/n基于更新后的所述目标知识图谱,对所述目标应用程序包进行业务分析,获得业务分析结果。/n
【技术特征摘要】
1.一种应用程序包分析方法,包括:
对目标应用程序包进行静态分析,获得静态分析结果,所述静态分析结果包括所述目标应用程序包中的多个对象以及每个对象的关系信息;
以所述静态分析结果中的对象为节点,对象的关系信息为节点间的关联关系,构建目标知识图谱;
对所述目标应用程序包进行动态分析,获得动态分析结果,所述动态分析结果包括所述目标应用程序包中的预设对象的关系信息,基于所述动态分析结果,在所述目标知识图谱中更新与所述预设对象对应的第一目标节点的关联关系;
基于更新后的所述目标知识图谱,对所述目标应用程序包进行业务分析,获得业务分析结果。
2.根据权利要求1所述的方法,所述对目标应用程序包进行静态分析,获得静态分析结果,包括:
通过对所述目标应用程序包进行反编译,对反编译后的代码进行语法分析,获得所述目标应用程序包中使用的对象以及每个对象的关系信息,所述对象包括所述目标应用程序包中的类、成员函数、成员变量中任意一种或多种组合,所述关系信息包括引用、继承、直接调用、间接调用中的任意一种或多种组合。
3.根据权利要求1所述的方法,所述对所述目标应用程序包进行动态分析,获得动态分析结果,包括:
通过在所述目标应用程序包中预先配置的针对所述预设对象的监控程序,获得在所述目标应用程序包运行过程中所述预设对象与其他对象的关系信息。
4.根据权利要求1所述的方法,在所述目标知识图谱中更新与所述预设对象对应的第一目标节点的关联关系之后,所述方法还包括:
获得目标人员针对所述目标知识图谱中的第二目标节点反馈的关联关系,在所述目标知识图谱中更新所述第二目标节点的关联关系。
5.根据权利要求1所述的方法,所述基于更新后的所述目标知识图谱,对所述目标应用程序包进行业务分析,获得业务分析结果,包括:
获得所述目标应用程序包的上一版本应用程序包对应的上一版本知识图谱;
对上一版本知识图谱和更新后的所述目标知识图谱进行差异分析,获得相同部分;
继承针对所述上一版本知识图谱的分析结果中与所述相同部分对应的第一业务分析结果,所述业务分析结果中包括所述第一业务分析结果。
6.根据权利要求5所述的方法,所述方法还包括:
对上一版本知识图谱和更新后的所述目标知识图谱进行差异分析,获得差异部分;
对所述差异部分进行业务分析,获得第二业务分析结果,所述业务分析结果中包括所述第二业务分析结果。
7.根据权利要求1所述的方法,所述基于更新后的所述目标知识图谱,对所述目标应用程序包进行业务分析,获得业务分析结果,包括:
获得更新后的所述目标知识图谱中满足预设业务分析规则的节点和/或边;
基于满足所述预设业务分析规则的节点和/或边,获得业务分析结果。
8.一种应用程序包分析装置,包括:
静态分析模块,用于对目标应用程序包进行静态分析,获得静态分析结果,所述静态分析结果包括所述目标应用程序...
【专利技术属性】
技术研发人员:李文杰,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。