[发明专利]APP内部权限的检测方法及装置有效
申请号: | 201610151547.0 | 申请日: | 2016-03-16 |
公开(公告)号: | CN107203706B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 王蕾 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | app 内部 权限 检测 方法 装置 | ||
本申请提供一种APP内部权限的检测方法及装置,其中的方法包括:获取APP使用的外部权限,并基于所述外部权限的信息创建第一权限记录列表;获取所述APP编译后的代码中与权限使用相关的代码片段,并基于所述代码片段中记录的与权限使用相关的信息创建第二权限记录列表;其中,所述第一权限记录列表与所述第二权限记录列表中的权限记录数据结构相同;针对所述第一权限记录列表与所述第二权限记录列表执行匹配以确定所述APP编译后的代码中使用到权限的代码片段以及对应的使用权限。本申请可以实现针对APP代码中使用到的内部权限更加便利的进行管控。
技术领域
本申请涉及通信领域,尤其涉及一种APP内部权限的检测方法及装置。
背景技术
Android是一个以Linux为基础的开源操作系统,由于其开放性和可移植性,可以被用在大部分电子产品上,因此Android系统已经成为全球最大的智能手机操作系统。
在Android系统中,对于各类系统权限,尤其针对各类系统敏感权限的使用和管控,会直接影响到app的规范性和用户体验。而目前针对Android系统各类权限的使用和管控,通常是通过第三方的权限监控软件来实现,已无法满足在实际应用中的管控需求。
发明内容
本申请提出一种APP内部权限的检测方法,该方法包括:
获取APP使用的外部权限,并基于所述外部权限的信息创建第一权限记录列表;
获取所述APP编译后的代码中与权限使用相关的代码片段,并基于所述代码片段中记录的与权限使用相关的信息创建第二权限记录列表;其中,所述第一权限记录列表与所述第二权限记录列表中的权限记录数据结构相同;
针对所述第一权限记录列表与所述第二权限记录列表执行匹配以确定所述APP编译后的代码中使用到权限的代码片段以及对应的使用权限。
可选的,所述第一权限记录列表与所述第二权限记录列表中的权限记录的数据结构至少包括以下字段:
权限名称字段,用于记录权限名称;
权限类型字段,用于记录所述权限的使用方式;所述使用方式包括基于API使用或基于权限名称使用;
权限内容字段,用于记录所述权限的使用信息;所述使用信息包括以下信息中的任一:使用所述权限的API、所述权限名称,使用所述权限的代码类和与该代码类对应的代码方法;
权限使用记录字段,用于记录使用所述权限的代码片段的地址。
可选的,所述获取APP使用的外部权限包括:
读取APP的权限配置列表以获取所述APP使用的外部权限名称;
解析系统文档获取系统定义的全部权限的信息;
在所述系统定义的全部权限的信息中查找与所述外部权限名称对应的外部权限的信息。
可选的,所述获取所述APP编译后的代码中与权限使用相关的代码片段包括:
解析所述APP编译后的代码;
查找所述APP编译后的代码中与外部函数调用以及字符定义相关的代码片段;
将查找到的所述与外部函数调用以及字符定义相关的代码片段作为与权限使用相关的代码片段进行获取。
可选的,所述将查找到的所述与外部函数调用以及字符定义相关的代码片段作为与权限使用相关的代码片段进行获取之前,还包括:
针对查找到的代码片段进行代码识别;
过滤查找到的代码片段中与权限无关的代码片段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610151547.0/2.html,转载请声明来源钻瓜专利网。