CN109190370B - 一种基于控件区域分布特征的安卓界面相似度计算方法 - Google Patents

一种基于控件区域分布特征的安卓界面相似度计算方法 Download PDF

Info

Publication number
CN109190370B
CN109190370B CN201810711378.0A CN201810711378A CN109190370B CN 109190370 B CN109190370 B CN 109190370B CN 201810711378 A CN201810711378 A CN 201810711378A CN 109190370 B CN109190370 B CN 109190370B
Authority
CN
China
Prior art keywords
tree
control
similarity
information
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810711378.0A
Other languages
English (en)
Other versions
CN109190370A (zh
Inventor
岳胜涛
马骏
陶先平
吕建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201810711378.0A priority Critical patent/CN109190370B/zh
Publication of CN109190370A publication Critical patent/CN109190370A/zh
Application granted granted Critical
Publication of CN109190370B publication Critical patent/CN109190370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种基于控件区域分布特征的安卓界面相似度计算方法,包括一个描述安卓运行时应用界面信息的模型‑控件区域分布树以及界面相似度的计算步骤:首先获取应用界面布局的视图层次信息,该信息可由已有的第三方工具获得;然后遍历视图层次中的每个控件的矩形区域信息,并将这些矩形区域构建为一棵R树;将构建出来的R树作为控件区域分布树,通过比较空间区域分布树的相似度来判定对应界面的相似性。该***的特点在于:提高了对代码混淆与加这两类反检测方式的抵抗性,提高了针对混合安卓应用界面的相似度计算的精确性。

Description

一种基于控件区域分布特征的安卓界面相似度计算方法
技术领域
本发明属于安卓应用、软件胎记、重打包检测以及应用模糊算法领域,具体涉及一种基于控件区域分布特征的安卓界面相似度计算方法。
背景技术
随着移动设备的不断普及,移动应用数量也呈现***式的增长,也因此吸引到很多不法分子的注意。安卓应用易被重打包发布,攻击者们在重打包过程中添加、修改部分代码从而达到他们的不法目的。现有技术主要是需要通过识别应用的软件胎记来检测安卓应用重打包,通过分析应用的代码或者界面信息来提取应用的软件胎记。但是由于现如今应用混淆和加密的普遍性,从应用代码中提取的软件胎记会收到严重的干扰,因此,越来越多的工作将重点放在了从应用界面中提取胎记,而这其中的一个重要的环节就是如何计算界面之间的相似度。而随着混合安卓应用逐渐成为现如今安卓应用开发的主流方式,应用界面信息与传统的原生安卓应用有着较大的区别。从实际上讲,现阶段并没有针对混合应用界面胎记提取的工作;而从理论分析而言,Web部分中动态、无类型的控件特性增加了处理的难度。
发明内容
本发明针对现有技术中的不足,提供一种基于控件区域分布特征的安卓界面相似度计算方法。该方法基于以下现实:安卓应用界面中的控件总是占据了一个矩形区域(包含位置和大小信息),这些矩形区域构成了一个界面的骨架,对这个骨架的部分修改并不会过多的影响整个界面的相似程度。因此,我们提出了控件区域分布树,一个用于安卓运行时应用界面信息的模型。
为实现上述目的,本发明采用以下技术方案:
一种基于控件区域分布特征的安卓界面相似度计算方法,其特征在于,包括如下步骤:
步骤一、动态执行安卓应用,收集用户界面信息;
步骤二、通过用户界面信息构造控件区域分布树;
步骤三、通过比较控件区域分布树的相似度来判断应用界面之间的相似度。
为优化上述技术方案,采取的具体措施还包括:
步骤一中,对于待比较的安卓应用运行时界面,获取安卓应用用户界面的结构信息。
步骤二中,控件区域分布树是一个树形数据结构,一个应用界面对应一个控件区域分布树,树的节点与应用界面中的控件一一对应,每个节点包含了对应控件的区域信息,控件的区域信息是指控件在界面呈现上占据的矩形区域的位置与大小信息。
步骤二具体包括:
步骤2.1、首先获取应用界面布局的视图层次信息;
步骤2.2、然后按任意顺序逐个遍历视图层次中的最底层的控件的矩形区域信息,将这些矩形区域作为节点,***并构建为一棵R树;
步骤2.3、将构建出来的R树作为控件区域分布树。
步骤三具体包括:
步骤3.1、一个控件区域分布树的每个节点包含了控件所占据矩形区域的位置和大小信息,矩形区域的相似度由Jaccard距离定义;
设两个矩形r1、r2,其对应的面积大小分别是s1、s2,两者重叠面积是so,那么这两个矩形的相似度为:
Figure BDA0001715741210000021
步骤3.2、设两个控件区域分布树为t1、t2,对于t1中每个矩形ri∈t1,求得:
Figure BDA0001715741210000022
其中,t2中每个矩形为rj,即rj∈t2
最终将simm的平均值作为树的相似度,也就是对应界面的相似度。
本发明的有益效果是:本发明具体提供的功能包括:1、收集安卓应用用户界面信息并构造控件区域分布树;2、反馈安卓应用界面之间的相似度。与现有技术相比,其显著特点是:提高了对代码混淆与加这两类反检测方式的抵抗性,提高了针对混合安卓应用界面的相似度计算的精确性。
附图说明
图1是一种基于控件区域分布特征的安卓界面相似度计算方法的***框图。
图2是控件区域分布树的生成流程图。
图3是提供的一个界面例子。
图4是界面的视图层次。
图5是界面中控件对应的矩形区域以及生成的R树中MBR的划分。
图6是最终生成的控件区域分布树。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
一、主要过程
如图1所示的一种基于控件区域分布特征的安卓界面相似度计算方法,对于待比较的一对安卓应用运行时界面,我们利用第三方工具获取安卓应用用户界面的结构信息。然后将应用每个布局所包含的用户界面结构信息转化为控件区域分布树,作为应用界面的特征。最后计算两个安卓应用界面对应的控件区域分布树的相似度,用于确定应用界面是否相似。
二、控件区域分布树的生成
控件区域分布树的生成流程图如图2,详细步骤如下:
我们获取到的布局都是XML格式,其数据结构可被看作为一棵树,整棵树代表该布局层次,树的节点代表布局中对应的控件。利用第三方工具可以获取运行界面布局的视图层次树。
界面中的每一个控件都占据着一个矩形区域,不同的控件会在这些大小不同的矩形中绘制不同的内容(比如颜色、文本或者图片)。这些控件都是界面视图层次中最底层的元素,对应的矩形彼此之间不会出现嵌套重叠的情况。我们构建一棵R树来存放这些矩形信息,R树是一棵用于高维度信息索引的平衡多叉树,在本发明中,我们使用的矩形信息就是二维的(宽度和高度)。R树利用最小边界矩形(Minimum Bounding Rectangle,MBR)将相邻的物体组合在一起构成节点,并保证了树的平衡性。通过向R树不断***每个控件的矩形信息,最终构造出的R树就作为了该界面的控件区域分布树。不同***顺序可能会导致不同的R树,但不影响之后控件区域分布树的相似度计算结果。
图3展示了一个界面例子,图4则是该界面的视图层次,其中的每个节点都对应了界面中可见或者不可见的元素(一般而言,不可见元素是用来组织其子元素的布局结构的,例如LinearLayout),我们只考虑其中的叶子节点元素并将对应的矩形信息添加到R树中。图5则是该界面中控件对应的矩形区域以及生成的R树中MBR的划分,图6就是最终生成的控件区域分布树。
三、控件区域分布树相似度计算
一个控件区域分布树的每个节点包含了控件所占据矩形区域的位置和大小信息,矩形区域的相似度有Jaccard距离定义:设两个矩形r1、r2,其对应的面积大小分别是s1、s2,两者重叠面积是so,那么这两个矩形的相似度为:
Figure BDA0001715741210000041
其次,设两个控件区域分布树为t1、t2,对于t1中每个矩形ri∈t1,求得:
Figure BDA0001715741210000042
其中,t2中每个矩形为rj,即rj∈t2
最终将simm的平均值作为树的相似度,也就是对应界面的相似度。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (1)

1.一种基于控件区域分布特征的安卓界面相似度计算方法,其特征在于,包括如下步骤:
步骤一、动态执行安卓应用,收集用户界面信息;对于待比较的安卓应用运行时界面,获取安卓应用用户界面的结构信息;
步骤二、通过用户界面信息构造控件区域分布树;控件区域分布树是一个树形数据结构,一个应用界面对应一个控件区域分布树,树的节点与应用界面中的控件一一对应,每个节点包含了对应控件的区域信息,控件的区域信息是指控件在界面呈现上占据的矩形区域的位置与大小信息;步骤二具体包括:
步骤2.1、首先获取应用界面布局的视图层次信息;
步骤2.2、然后按任意顺序逐个遍历视图层次中的最底层的控件的矩形区域信息,将这些矩形区域作为节点,***并构建为一棵R树;
步骤2.3、将构建出来的R树作为控件区域分布树;
步骤三、通过比较控件区域分布树的相似度来判断应用界面之间的相似度;
步骤三具体包括:
步骤3.1、一个控件区域分布树的每个节点包含了控件所占据矩形区域的位置和大小信息,矩形区域的相似度由Jaccard距离定义;
设两个矩形r1、r2,其对应的面积大小分别是s1、s2,两者重叠面积是so,那么这两个矩形的相似度为:
Figure FDA0003315798570000011
步骤3.2、设两个控件区域分布树为t1、t2,对于t1中每个矩形ri∈t1,求得:
Figure FDA0003315798570000012
其中,t2中每个矩形为rj,即rj∈t2
最终将simm的平均值作为树的相似度,也就是对应界面的相似度。
CN201810711378.0A 2018-07-02 2018-07-02 一种基于控件区域分布特征的安卓界面相似度计算方法 Active CN109190370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810711378.0A CN109190370B (zh) 2018-07-02 2018-07-02 一种基于控件区域分布特征的安卓界面相似度计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810711378.0A CN109190370B (zh) 2018-07-02 2018-07-02 一种基于控件区域分布特征的安卓界面相似度计算方法

Publications (2)

Publication Number Publication Date
CN109190370A CN109190370A (zh) 2019-01-11
CN109190370B true CN109190370B (zh) 2022-02-08

Family

ID=64948793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810711378.0A Active CN109190370B (zh) 2018-07-02 2018-07-02 一种基于控件区域分布特征的安卓界面相似度计算方法

Country Status (1)

Country Link
CN (1) CN109190370B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502876B (zh) * 2019-08-07 2021-04-27 南京大学 一种基于资源文件的安卓界面静态混淆方法
CN110766697B (zh) * 2019-10-16 2023-08-04 南京大学 一种界面草图的图形界面控件图像识别的方法和装置
CN111273905B (zh) * 2020-01-17 2023-04-18 南京大学 基于界面草图的应用检索方法和装置
CN116795346B (zh) * 2023-06-26 2024-03-15 成都中科合迅科技有限公司 基于视觉对比的组件界面绘制方法和***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169323A (zh) * 2017-05-11 2017-09-15 南京大学 一种基于布局簇图的安卓应用重打包检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169323A (zh) * 2017-05-11 2017-09-15 南京大学 一种基于布局簇图的安卓应用重打包检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《DroidEagle: Seamless Detection of Visually Similar AndroidApps》;Mingshen Sun等;《Proceedings of the 8th ACM Conference on Security and Privacy in Wireless and Mobile Networks》;20150630;全文 *

Also Published As

Publication number Publication date
CN109190370A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109190370B (zh) 一种基于控件区域分布特征的安卓界面相似度计算方法
Raja et al. Table structure recognition using top-down and bottom-up cues
US9996566B2 (en) Visual design system for generating a visual data structure associated with a semantic composition based on a hierarchy of components
US9817804B2 (en) System for comparison and merging of versions in edited websites and interactive applications
JP5952428B2 (ja) ボーダレステーブル検出エンジン
US9449026B2 (en) Sketch-based image search
US20150310124A1 (en) System and method for the creation and use of visually-diverse high-quality dynamic layouts
CN111367976B (zh) 基于java反射机制的excel文件数据的导出方法及装置
JP2010541097A (ja) 相対位置に基く制御によるページ上のグラフィックスオブジェクトの配置
CN106796518A (zh) 基于意图的反馈
US9031894B2 (en) Parsing and rendering structured images
US11610054B1 (en) Semantically-guided template generation from image content
US11663398B2 (en) Mapping annotations to ranges of text across documents
AU2016299873B2 (en) System and method for the creation and use of visually- diverse high-quality dynamic visual data structures
CN106201184A (zh) 一种sns消息的编辑方法、装置和终端
TW201523421A (zh) 決定用於擷取的文章之圖像
JP5890340B2 (ja) 画像分類装置及び画像分類プログラム
Yuan et al. A novel figure panel classification and extraction method for document image understanding
CN111723177B (zh) 信息提取模型的建模方法、装置及电子设备
CN106548118A (zh) 影院放映内容的识别检索方法及***
Diem et al. Semi-automated document image clustering and retrieval
KR102444172B1 (ko) 영상 빅 데이터의 지능적 마이닝 방법과 처리 시스템
WO2021151274A1 (zh) 图像文档处理方法、装置、电子设备及计算机可读存储介质
CN111382299A (zh) 加快图像检索的方法、装置、计算机设备和存储介质
Bozkır et al. SimiLay: A developing web page layout based visual similarity search engine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant