[发明专利]APP内部权限的检测方法及装置有效
申请号: | 201610151547.0 | 申请日: | 2016-03-16 |
公开(公告)号: | CN107203706B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 王蕾 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | app 内部 权限 检测 方法 装置 | ||
1.一种APP内部权限的检测方法,其特征在于,该方法包括:
获取APP使用的外部权限,并基于所述外部权限的信息创建第一权限记录列表;
获取所述APP编译后的代码中与权限使用相关的代码片段,并基于所述代码片段中记录的与权限使用相关的信息创建第二权限记录列表;其中,所述第一权限记录列表与所述第二权限记录列表中的权限记录数据结构相同;
针对所述第一权限记录列表与所述第二权限记录列表执行匹配,并将所述第一权限记录列表以及所述第二权限记录列表中相匹配的权限记录中各字段记录的信息进行合并,以确定所述APP编译后的代码中使用到权限的代码片段以及对应的使用权限;其中,相匹配的权限记录为包括至少一个记录的信息完全匹配的字段的权限记录。
2.根据权利要求1所述的方法,其特征在于,所述第一权限记录列表与所述第二权限记录列表中的权限记录的数据结构至少包括以下字段:
权限名称字段,用于记录权限名称;
权限类型字段,用于记录所述权限的使用方式;所述使用方式包括基于API使用或基于权限名称使用;
权限内容字段,用于记录所述权限的使用信息;所述使用信息包括以下信息中的任一:使用所述权限的API、所述权限名称,使用所述权限的代码类和与该代码类对应的代码方法;
权限使用记录字段,用于记录使用所述权限的代码片段的地址。
3.根据权利要求1或2所述的方法,其特征在于,所述获取APP使用的外部权限包括:
读取APP的权限配置列表以获取所述APP使用的外部权限名称;
解析系统文档获取系统定义的全部权限的信息;
在所述系统定义的全部权限的信息中查找与所述外部权限名称对应的外部权限的信息。
4.根据权利要求1或2所述的方法,其特征在于,所述获取所述APP编译后的代码中与权限使用相关的代码片段包括:
解析所述APP编译后的代码;
查找所述APP编译后的代码中与外部函数调用以及字符定义相关的代码片段;
将查找到的所述与外部函数调用以及字符定义相关的代码片段作为与权限使用相关的代码片段进行获取。
5.根据权利要求4所述的方法,其特征在于,所述将查找到的所述与外部函数调用以及字符定义相关的代码片段作为与权限使用相关的代码片段进行获取之前,还包括:
针对查找到的代码片段进行代码识别;
过滤查找到的代码片段中与权限无关的代码片段。
6.根据权利要求1或2所述的方法,其特征在于,所述针对所述第一权限记录列表与所述第二权限记录列表执行匹配,并将所述第一权限记录列表以及所述第二权限记录列表中相匹配的权限记录中各字段记录的信息进行合并,以确定所述APP编译后的代码中使用到权限的代码片段以及对应的使用权限,包括:
遍历所述第一权限记录列表以及所述第二权限记录列表,将所述第一权限记录列表中的权限记录与所述第二权限记录列表中的权限记录依次执行匹配;
当所述第一权限记录列表中的任一权限记录与所述第二权限记录列表中的任一权限记录包括至少一个记录的信息完全匹配的字段时,确定二者匹配;
针对所述第一权限记录列表以及所述第二权限记录列表中相匹配的权限记录中各字段记录的信息进行合并,生成对应的权限使用记录列表,以基于该权限使用记录列表确定所述APP编译后的代码中使用到权限的代码片段的地址以及对应的使用权限的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610151547.0/1.html,转载请声明来源钻瓜专利网。