隐藏API调用的检测方法、装置及计算机存储介质制造方法及图纸

技术编号:21088942 阅读:48 留言:0更新日期:2019-05-11 09:44
本发明专利技术实施例公开一种隐藏API调用的检测方法、装置及计算机存储介质,在目标应用程序启动之前就可以获得目标应用程序对隐藏API的调用信息,开发人员可通过该调用信息及时对目标应用程序调用的隐藏API进行调整,能有效避免目标应用程序在启动或运行过程中因调用隐藏API而出现异常的问题。该方法包括:获得安卓系统的隐藏API列表;将目标应用程序的程序代码转化为抽象语法树;基于所述隐藏API列表,对所述抽象语法树进行语法树分析,获得所述目标应用程序对隐藏API的调用信息。

【技术实现步骤摘要】
隐藏API调用的检测方法、装置及计算机存储介质
本专利技术涉及电子
,尤其涉及一种隐藏API调用的检测方法、装置及计算机存储介质。
技术介绍
Android(安卓)是一种基于Linux的自由及开放源代码的操作系统,由Google公司和开放手机联盟领导及开发。主要使用于移动设备,如智能手机和平板电脑,Android系统在移动设备中被广泛应用。Google在2018年的I/O大会上发布了AndroidP(安卓开发预览版),其中还说明了在以后的AndroidP上,将对隐藏API(ApplicationProgrammingInterface,应用程序编程接口)调用进行限制。由于Android系统是开源的,所以开发者对隐藏API的调用十分混乱,此举是为了进一步防止碎片化,规范开发者的API调用使用行为。在AndroidP系统中,如果开发者设计的应用程序调用了隐藏API,在应用程序启动后会造成一些功能异常。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的隐藏API调用的检测方法、装置及计算机存储介质。第一方面,本实施例提供一种隐藏API调用的本文档来自技高网...

【技术保护点】
1.一种隐藏API调用的检测方法,其特征在于,包括:获得安卓系统的隐藏API列表;将目标应用程序的程序代码转化为抽象语法树,其中,所述目标应用程序安装在所述安卓系统中;基于所述隐藏API列表,对所述抽象语法树进行语法树分析,获得所述目标应用程序对隐藏API的调用信息。

【技术特征摘要】
2018.09.30 CN 20181116303701.一种隐藏API调用的检测方法,其特征在于,包括:获得安卓系统的隐藏API列表;将目标应用程序的程序代码转化为抽象语法树,其中,所述目标应用程序安装在所述安卓系统中;基于所述隐藏API列表,对所述抽象语法树进行语法树分析,获得所述目标应用程序对隐藏API的调用信息。2.如权利要求1所述的方法,其特征在于,所述基于所述隐藏API列表,对所述抽象语法树进行语法树分析,获得所述目标应用程序对隐藏API的调用信息,包括:对所述抽象语法树的节点进行扫描,获得每个节点调用的方法名称;基于所述每个节点调用的方法名称,确定所述目标应用程序采用直接调用方式调用隐藏API的第一信息,以及确定所述目标应用程序采用反射调用方式调用隐藏API的第二信息;将所述第一信息和所述第二信息作为所述调用信息。3.如权利要求2所述的方法,其特征在于,所述确定所述目标应用程序采用直接调用方式调用隐藏API的第一信息,包括:如果扫描到的节点调用的方法名称与预设直接调用方法名称匹配,确定该节点采用直接调用方式调用隐藏API;获得所述抽象语法树中采用直接调用方式调用隐藏API的节点个数;将所述抽象语法树中采用直接调用方式调用隐藏API的节点个数作为所述目标应用程序采用直接调用方式调用隐藏API的次数;确定所述第一信息包括所述目标应用程序采用直接调用方式调用隐藏API的次数。4.如权利要求2所述的方法,其特征在于,确定所述目标应用程序采用反射调用方式调用隐藏API的第二信息,包括:如果扫描到的节点调用的方法名称与预设反射调用方法名称匹配,且该节点调用的方法中传入的字符与所述API列表中的预设字符匹配,确定该节点采用反射调用方式调用隐藏API;获得所述抽象语法树中采用反射调用方式调用隐藏API的节点个数;将所述抽象语法树中采用反射调用方式调用隐藏API的节点个数作为所述目标应用程序采用反射调用方式调用隐藏API的次数;确定所述第二信息包括所述目标应用程序采用反射调用方式调用隐藏API的...

【专利技术属性】
技术研发人员:甘甜
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1