[发明专利]一种基于布局划分特征向量的安卓应用界面相似度比较方法有效
申请号: | 201810612813.4 | 申请日: | 2018-06-14 |
公开(公告)号: | CN108898013B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 马骏;孙清伟;陶先平;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 布局 划分 特征向量 应用 界面 相似 比较 方法 | ||
本发明公开了一种基于布局划分特征向量的安卓应用界面相似度比较方法。所述方法包括一个描述安卓应用运行时用户界面信息的数据模型——布局划分特征向量以及界面之间的相似度计算方法:1)通过第三方工具获得的应用布局,用布局所包含的用户界面信息构造布局划分特征向量;2)通过比较布局划分特征向量的相似度来判断应用界面之间是否相似。该方法的特点在于:提供了可获取的安卓应用界面的一种特征,提高了对代码混淆与加密这两类反检测方式的抵抗性,提高了安卓应用界面检测的精确性,大大加快了相似度计算,可以作为第三方动态重打包检测方法的软件胎记,提高了安卓应用重打包检测的精确性。
技术领域
本发明涉及安卓应用,软件胎记,重打包检测领域,具体涉及一种基于布局划分特征向量的安卓应用界面相似度比较方法。
背景技术
近年来,随着移动设备的普及,基于移动设备的安卓应用数量不断增加。然而,通过已有的逆向工程工具,安卓应用可以被修改、重新打包并发布。攻击者利用安卓应用的流行性,向应用中插装广告、恶意程序来达到一些非法的目的。一些非官方的或者第三方的应用市场更是助长了这一现象。对这类安卓应用重打包的常见的检测思路就是生成应用的软件胎记,然后通过比较软件胎记来计算应用之间的相似程度,判断是否重打包。按照生成软件胎记的方式划分,可分为静态生成和动态生成。但是,攻击者们为了防止重打包的应用被识别出来,会对应用进行反检测处理,例如代码混淆或者软件加密。静态生成的软件胎记并不能很有效的抵抗一些代码混淆的攻击;而当安卓应用被加密之后,静态方法几乎难以产生效果。现有的动态生成软件胎记方式仍有不足,对代码的等价语义变换同样会影响这些胎记的效果。
发明内容
本发明主要针对上述不足,提出了一种基于布局划分特征向量的安卓应用界面相似度比较方法。攻击者在重打包应用时,为了利用原应用的流行性,总是使得重打包后的应用保持相似的界面。因此,提出了一种基于布局划分特征向量的安卓应用界面相似度比较方法,并将此作为安卓应用的软件胎记生成的信息之一,可运用于多种安卓动态重打包检测方法中。
本发明通过以下技术方案来实现:一种基于布局划分特征向量的安卓应用界面相似度比较方法,包括一个描述安卓应用运行时用户界面信息的数据模型——布局划分特征向量以及特征向量相似度计算方法:
安卓应用界面是指安卓应用运行时刻呈现给用户的界面的结构信息,由一系列的View Group以及View所构成;
布局格划分特征向量是一个一维特征向量。首先是将安卓界面按照整个界面大小平均划分成若干数量的格子,界面中的每个控件占据的矩形区域会落在某个或者某些数量的格子中,所以每个格子中包含了一部分安卓控件矩形区域的信息,按照一定顺序将所有格子的信息依次排列构成一个一维特征向量,I=(i1,i2…),其中元素i,表示某一个划分的格子中包含的控件信息,通过计算两个布局划分特征向量的相似度,来衡量两个界面布局的相似度。
进一步的,所述布局划分特征向量的生成包含以下步骤:
1获取安卓应用运行时的界面,利用第三方工具获取运行界面布局的视图层次树;
2安卓界面中每个控件都有一个其所占据的矩形区域对应,只考虑布局结构信息的最底层的控件,对应了布局视图层次树的叶子结点,所以遍历界面布局的视图层次树,获取所有叶子结点代表的控件占据的矩形区域的信息,记录这些叶子结点矩形区域的左上角和右下角坐标;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810612813.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:检测非法程序的方法和装置
- 下一篇:一种病毒查杀方法、服务器及电子设备