应用程序的分析方法及装置制造方法及图纸

技术编号:11385275 阅读:208 留言:0更新日期:2015-05-01 12:20
本发明专利技术公开了一种应用程序的分析方法及装置,属于计算机技术领域。方法包括:获取待发布的应用程序安装包;解析应用程序安装包;根据解析得到的应用程序代码,提取应用程序安装包的特征数据;根据样本数据库中样本安装包的特征数据与应用程序安装包的特征数据,进行相似度分析;根据相似度分析结果,对应用程序进行分析。本发明专利技术提取应用程序安装包的特征数据,根据样本数据库中样本安装包的特征数据与应用程序安装包的特征数据,进行相似度分析,根据相似度分析结果,确定应用程序是否为正版应用程序。由于可自动对应用进行分析,从而降低了分析成本。另外,由于分析过程中采集的样本数量较多,因此,分析结果较为准确。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种应用程序的分析方法及装置
技术介绍
随着计算机技术的快速发展,使用应用程序的越来越多。开发者在开发一个应用程序后,通常需要将应用程序上传至应用运营平台,供用户下载使用。为了保护应用程序的版权,开发者将应用程序上传至应用运营平台时,需要先分析该应用程序与应用运营平台中已有的应用程序是否存在创意及使用过程等方面上的相似性。若该应用程序与应用运营平台上已有的应用程序较为相似,则可确定该应用程序不是正版应用程序,并禁止该应用程序上传至应用运营平台。该判断过程可以是由相关工作人员通过人工分析,判断应用程序与应用运营平台上已有的应用程序是否相似,根据判断结果确定是否允许应用程序上传至应用运营平台。在实现本专利技术的过程中,专利技术人发现上述方法至少存在以下问题:由于在对应用程序进行分析时,需要进行人工分析,而人工分析需要大量人员持续投入,从而使得分析成本较高。另外,由于人工分析很难覆盖到应用运营平台中所有的应用程序,因此,分析时采集的样本有限,导致分析结果较为不准确。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种应用程序的分析方法及装置。所述技术方案如下:第一方面,提供了一种应用程序的分析方法,所述方法包括:获取待发布的应用程序安装包;解析所述应用程序安装包;根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,所r>述特征数据包括代码结构特征数据、资源分布特征数据、代码向量和代码函数调用关系特征数据中至少一项;根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,所述样本安装包为已发布的应用程序安装包;根据相似度分析结果,对应用程序进行分析。结合第一方面,在第一方面的第一种可能的实现方式中,所述根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,包括:根据解析得到的应用程序代码中的目录以及代码文件之间的节点关系,确定代码结构特征数据;所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,包括:计算每个样本安装包的代码结构特征数据与所述应用程序安装包的代码结构特征数据之间代码结构的相似度。结合第一方面,在第一方面的第二种可能的实现方式中,所述根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,包括:根据解析得到的应用程序代码在运行过程中所加载的数据文件的存储路径,得到资源分布特征数据;所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,包括:计算每个样本安装包的每个资源分布特征数据与所述应用程序安装包的每个资源分布特征数据之间的树编辑距离,根据每个样本安装包的每个资源分布特征数据与所述应用程序安装包的每个资源分布特征数据之间的树编辑距离,得到树型文件相似度矩阵,根据所述树型文件相似度矩阵,计算资源分布的相似度。结合第一方面,在第一方面的第三种可能的实现方式中,所述根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,包括:根据解析得到的应用程序代码中代码执行指令,确定代码执行指令对应的权重,所述代码执行指令包括指令代码及操作数据对象;根据所述代码执行指令及对应的权重,确定代码向量;所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,包括:确定每个样本安装包的代码向量与所述应用程序安装包的代码向量之间的交集及并集,将所述交集中数据的数量与所述并集中数据的数量之间的比值,作为代码向量的相似度。结合第一方面,在第一方面的第四种可能的实现方式中,所述根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,包括:根据解析得到的应用程序代码的函数调用关系,确定代码函数调用关系特征数据;所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,包括:计算每个样本安装包的每个代码函数调用关系特征数据与所述应用程序安装包的每个代码函数调用关系特征数据之间的树编辑距离,根据每个样本安装包的每个代码函数调用关系特征数据与所述应用程序安装包的每个代码函数调用关系特征数据之间的树编辑距离,得到函数调用的相似度矩阵,根据所述函数调用的相似度矩阵,计算函数调用的相似度。结合第一方面至第一方面的第四种可能的实现方式中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据相似度分析结果,对应用程序进行分析,包括:根据样本数据库中每个样本安装包与所述应用程序安装包之间代码结构的相似度数据、资源分布的相似度数据、代码向量的相似度数据及函数调用的相似度数据,确定样本数据库中每个样本安装包与所述应用程序安装包之间的综合相似度;若存在大于正版阈值的综合相似度,则确定所述应用程序不为正版应用程序。结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据样本数据库中每个样本安装包与所述应用程序安装包之间代码结构的相似度数据、资源分布的相似度数据、代码向量的相似度数据及函数调用的相似度数据,确定样本数据库中每个样本安装包与所述应用程序安装包之间的综合相似度,包括:将样本数据库中每个样本安装包与所述应用程序安装包之间代码结构的相似度数据、资源分布的相似度数据、代码向量的相似度数据及函数调用的相似度数据分别乘以相应的权重后进行叠加,将叠加结果作为样本数据库中每个样本安装包与所述应用程序安装包之间的综合相似度数据。第二方面,提供了一种应用程序的分析装置,所述装置包括:获取模块,用于获取待发布的应用程序安装包;解析模块,用于解析所述获取模块获取到的应用程序安装包;提取模块,用于根据解析模块解析得到的应用程序代码,提取所述应用程序安装包的特征数据,所述特征数据包括代码结构特征数据、资源分布特征数据、代码向量和代码函数调用关系特征数据中至少一项;第一分析模块,用于根据样本数据库中样本安装包的特征数据与提取模块提取到的所述应用程序安装包的特征数据,进行相似度分析,所述样本安装包为已发布的应用程序安装包;第二分析模块,用于根据第一分析模块分析到的相似度分析结果,对应用程序进行分析。结合第二方面,在第二方面的第一种可能的实现方式中,所述提取模块,用于根据解析模块解析得到的应用程序代码中的目录以及代码文本文档来自技高网...
应用程序的分析方法及装置

【技术保护点】
一种应用程序的分析方法,其特征在于,所述方法包括:获取待发布的应用程序安装包;解析所述应用程序安装包;根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,所述特征数据包括代码结构特征数据、资源分布特征数据、代码向量和代码函数调用关系特征数据中至少一项;根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数据,进行相似度分析,所述样本安装包为已发布的应用程序安装包;根据相似度分析结果,对应用程序进行分析。

【技术特征摘要】
1.一种应用程序的分析方法,其特征在于,所述方法包括:
获取待发布的应用程序安装包;
解析所述应用程序安装包;
根据解析得到的应用程序代码,提取所述应用程序安装包的特征数据,所
述特征数据包括代码结构特征数据、资源分布特征数据、代码向量和代码函数
调用关系特征数据中至少一项;
根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特征数
据,进行相似度分析,所述样本安装包为已发布的应用程序安装包;
根据相似度分析结果,对应用程序进行分析。
2.根据权利要求1所述的方法,其特征在于,所述根据解析得到的应用程
序代码,提取所述应用程序安装包的特征数据,包括:
根据解析得到的应用程序代码中的目录以及代码文件之间的节点关系,确
定代码结构特征数据;
所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特
征数据,进行相似度分析,包括:
计算每个样本安装包的代码结构特征数据与所述应用程序安装包的代码结
构特征数据之间代码结构的相似度。
3.根据权利要求1所述的方法,其特征在于,所述根据解析得到的应用程
序代码,提取所述应用程序安装包的特征数据,包括:
根据解析得到的应用程序代码在运行过程中所加载的数据文件的存储路
径,得到资源分布特征数据;
所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特

\t征数据,进行相似度分析,包括:
计算每个样本安装包的每个资源分布特征数据与所述应用程序安装包的每
个资源分布特征数据之间的树编辑距离,根据每个样本安装包的每个资源分布
特征数据与所述应用程序安装包的每个资源分布特征数据之间的树编辑距离,
得到树型文件相似度矩阵,根据所述树型文件相似度矩阵,计算资源分布的相
似度。
4.根据权利要求1所述的方法,其特征在于,所述根据解析得到的应用程
序代码,提取所述应用程序安装包的特征数据,包括:
根据解析得到的应用程序代码中代码执行指令,确定代码执行指令对应的
权重,所述代码执行指令包括指令代码及操作数据对象;
根据所述代码执行指令及对应的权重,确定代码向量;
所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特
征数据,进行相似度分析,包括:
确定每个样本安装包的代码向量与所述应用程序安装包的代码向量之间的
交集及并集,将所述交集中数据的数量与所述并集中数据的数量之间的比值,
作为代码向量的相似度。
5.根据权利要求1所述的方法,其特征在于,所述根据解析得到的应用程
序代码,提取所述应用程序安装包的特征数据,包括:
根据解析得到的应用程序代码的函数调用关系,确定代码函数调用关系特
征数据;
所述根据样本数据库中样本安装包的特征数据与所述应用程序安装包的特
征数据,进行相似度分析,包括:
计算每个样本安装包的每个代码函数调用关系特征数据与所述应用程序安
装包的每个代码函数调用关系特征数据之间的树编辑距离,根据每个样本安装

\t包的每个代码函数调用关系特征数据与所述应用程序安装包的每个代码函数调
用关系特征数据之间的树编辑距离,得到函数调用的相似度矩阵,根据所述函
数调用的相似度矩阵,计算函数调用的相似度。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述根
据相似度分析结果,对应用程序进行分析,包括:
根据样本数据库中每个样本安装包与所述应用程序安装包之间代码结构的
相似度数据、资源分布的相似度数据、代码向量的相似度数据及函数调用的相
似度数据,确定样本数据库中每个样本安装包与所述应用程序安装包之间的综
合相似度;
若存在大于正版阈值的综合相似度,则确定所述应用程序不为正版应用程
序。
7.根据权利要求6中所述的方法,其特征在于,所述根据样本数据库中每
个样本安装包与所述应用程序安装包之间代码结构的相似度数据、资源分布的
相似度数据、代码向量的相似度数据及函数调用的相似度数据,确定样本数据
库中每个样本安装包与所述应用程序安装包之间的综...

【专利技术属性】
技术研发人员:罗绳礼周志林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1