[发明专利]一种基于控件区域分布特征的安卓界面相似度计算方法有效
申请号: | 201810711378.0 | 申请日: | 2018-07-02 |
公开(公告)号: | CN109190370B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 岳胜涛;马骏;陶先平;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 控件 区域 分布 特征 界面 相似 计算方法 | ||
一种基于控件区域分布特征的安卓界面相似度计算方法,包括一个描述安卓运行时应用界面信息的模型‑控件区域分布树以及界面相似度的计算步骤:首先获取应用界面布局的视图层次信息,该信息可由已有的第三方工具获得;然后遍历视图层次中的每个控件的矩形区域信息,并将这些矩形区域构建为一棵R树;将构建出来的R树作为控件区域分布树,通过比较空间区域分布树的相似度来判定对应界面的相似性。该系统的特点在于:提高了对代码混淆与加这两类反检测方式的抵抗性,提高了针对混合安卓应用界面的相似度计算的精确性。
技术领域
本发明属于安卓应用、软件胎记、重打包检测以及应用模糊算法领域,具体涉及一种基于控件区域分布特征的安卓界面相似度计算方法。
背景技术
随着移动设备的不断普及,移动应用数量也呈现爆炸式的增长,也因此吸引到很多不法分子的注意。安卓应用易被重打包发布,攻击者们在重打包过程中添加、修改部分代码从而达到他们的不法目的。现有技术主要是需要通过识别应用的软件胎记来检测安卓应用重打包,通过分析应用的代码或者界面信息来提取应用的软件胎记。但是由于现如今应用混淆和加密的普遍性,从应用代码中提取的软件胎记会收到严重的干扰,因此,越来越多的工作将重点放在了从应用界面中提取胎记,而这其中的一个重要的环节就是如何计算界面之间的相似度。而随着混合安卓应用逐渐成为现如今安卓应用开发的主流方式,应用界面信息与传统的原生安卓应用有着较大的区别。从实际上讲,现阶段并没有针对混合应用界面胎记提取的工作;而从理论分析而言,Web部分中动态、无类型的控件特性增加了处理的难度。
发明内容
本发明针对现有技术中的不足,提供一种基于控件区域分布特征的安卓界面相似度计算方法。该方法基于以下现实:安卓应用界面中的控件总是占据了一个矩形区域(包含位置和大小信息),这些矩形区域构成了一个界面的骨架,对这个骨架的部分修改并不会过多的影响整个界面的相似程度。因此,我们提出了控件区域分布树,一个用于安卓运行时应用界面信息的模型。
为实现上述目的,本发明采用以下技术方案:
一种基于控件区域分布特征的安卓界面相似度计算方法,其特征在于,包括如下步骤:
步骤一、动态执行安卓应用,收集用户界面信息;
步骤二、通过用户界面信息构造控件区域分布树;
步骤三、通过比较控件区域分布树的相似度来判断应用界面之间的相似度。
为优化上述技术方案,采取的具体措施还包括:
步骤一中,对于待比较的安卓应用运行时界面,获取安卓应用用户界面的结构信息。
步骤二中,控件区域分布树是一个树形数据结构,一个应用界面对应一个控件区域分布树,树的节点与应用界面中的控件一一对应,每个节点包含了对应控件的区域信息,控件的区域信息是指控件在界面呈现上占据的矩形区域的位置与大小信息。
步骤二具体包括:
步骤2.1、首先获取应用界面布局的视图层次信息;
步骤2.2、然后按任意顺序逐个遍历视图层次中的最底层的控件的矩形区域信息,将这些矩形区域作为节点,插入并构建为一棵R树;
步骤2.3、将构建出来的R树作为控件区域分布树。
步骤三具体包括:
步骤3.1、一个控件区域分布树的每个节点包含了控件所占据矩形区域的位置和大小信息,矩形区域的相似度由Jaccard距离定义;
设两个矩形r1、r2,其对应的面积大小分别是s1、s2,两者重叠面积是so,那么这两个矩形的相似度为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810711378.0/2.html,转载请声明来源钻瓜专利网。