[发明专利]一种抗加固的Android平台克隆应用程序快速检测方法有效
申请号: | 201710842026.4 | 申请日: | 2017-09-18 |
公开(公告)号: | CN107622201B | 公开(公告)日: | 2018-07-24 |
发明(设计)人: | 林亚平;吕方 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 长沙正奇专利事务所有限责任公司 43113 | 代理人: | 马强;王娟 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种抗加固的Android平台克隆应用程序快速检测方法,包括预处理阶段和精确检测两个阶段。在预处理阶段,通过使用自然语言处理技术从应用程序的功能描述中提取关键字构造向量,利用改进的基于平衡二叉树的搜索方法快速查找功能相似的可疑克隆应用程序对。在正式检测阶段,本发明提出了一种基于界面布局特征且完全独立于源代码的应用程序胎记,能够有效抵抗加固技术的影响,最后使用基于树的编辑距离的相似度计算方法,能够精确计算出可疑克隆程序对之间的相似性。本发明能够有效抵抗加固技术的干扰,同时实现克隆应用的快速检测,具有很强的实用性。 | ||
搜索关键词: | 一种 加固 android 平台 克隆 应用程序 快速 检测 方法 | ||
【主权项】:
1.一种抗加固的Android平台克隆应用程序快速检测方法,其特征在于,包括以下步骤:1)构造基于关键字向量的平衡二叉树索引;2)输入目标应用的功能描述,利用Stanford Parser提取动态维度的关键字向量;3)在平衡二叉树索引中利用关键字向量快速搜索功能描述相似的应用程序,加入备选集合;具体实现过程包括:i.输入平衡二叉树索引节点;ii.若当前节点是非叶子节点,且若相关性计算得分RScore(u.V,Q)大于阈值γ,则计算该节点左右子节点的相关性得分,然后按照子节点得分高低,依次递归执行搜索操作;否则,终止当前搜索;若当前节点u是叶子节点,且若相关性得分RScore(u.V,Q)大于阈值γ,则在结果集合RList中插入新元素;u.V=u’.V∪u”.V,u’和u”为节点集合CurrentNodeSet集合中的两个叶子节点;V为关键字向量集合;iii.返回结果集合RList,即得到初步筛选的结果集合;Q为目标关键字向量;4)对所述备选集合中的应用程序分别进行解压缩以及转换操作,得到/res/layout目录下的所有的XML格式布局文件;5)对所述布局文件进行过滤,筛除第三方库引入的外部布局文件;6)将过滤后的布局文件转化为对应结构的布局树,加载到内存中;7)对加载的布局树依次执行归并操作,从根节点开始,按层次将不同布局树中的相同元素进行合并,生成最终的程序胎记;8)使用基于树的编辑距离的计算方法对最终生成的程序胎记的相似性进行计算,相似度超过阈值的程序对存在克隆问题;步骤1)中,平衡二叉树索引的构造方法包括以下步骤:(1)输入n个应用程序对应的关键字向量集合V;(2)针对关键字向量集合V中的任意向量Vi,构造叶子节点ui,其中ui.V=Vi;(3)将节点ui插入到节点集合CurrentNodeSet中;(4)若节点集合CurrentNodeSet中存在未处理节点时,循环执行步骤5)~步骤7);(5)任意选取CurrentNodeSet集合中两个叶子节点u’和u”,根据叶子节点u’和u”构造节点u作为父节点,其中u.V=u’.V∪u”.V;(6)将父节点u插入到暂存集合TempNodeSet中;(7)将TempNodeSet集合中的节点全部插入CurrentNodeSet集合中,清除TempNodeSet中的数据;(8)判断CurrentNodeSet集合大小为1时,结束循环;返回CurrentNodeSet集合中唯一节点作为根节点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710842026.4/,转载请声明来源钻瓜专利网。
- 上一篇:盖板固定架
- 下一篇:一种用于野外作业的绝缘工具摆放装置