一种盗版安卓应用甄别方法及盗版安卓应用甄别系统的制作方法

文档序号:10618212阅读:207来源:国知局
一种盗版安卓应用甄别方法及盗版安卓应用甄别系统的制作方法
【专利摘要】本发明公开了一种盗版安卓应用甄别方法及盗版安卓应用甄别系统。所述系统包括用于从安卓应用发布渠道采集安卓应用基本信息,下载安卓应用安装包的安卓应用渠道监测系统、用于对安卓应用基本信息及安卓应用安装包进行集中存储的安卓应用数据存储中心、用于基于安卓应用数据存储中心的海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表的安卓应用数据库、用于从预先构建的正版安卓应用信息表中选择待监测正版安卓应用,从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用进行甄别的安卓应用差异化分析系统。
【专利说明】
-种盗版安卓应用甄别方法及盗版安卓应用甄别系统
技术领域
[0001] 本发明设及安卓应用监控技术领域,更具体地说,设及一种盗版安卓应用甄别方 法及盗版安卓应用甄别系统。
【背景技术】
[0002] 目前,盗版安卓应用判定方法主要取决于应用的名称、包名、签名证书,即判定应 用名称是否相似,包名是否相同,签名证书是否不同。如某款安卓应用同时符合上述Ξ个条 件,则判定该款安卓应用为盗版应用。
[0003] 实际上,一方面,对于同一应用的不同版本,可能因为原作者的签名证书到期换 证,从而造成签名证书发生变化,同时因为应用发布渠道不同,可能出现渠道对所发布的应 用重新签名的情况。
[0004] 另一方面,安卓应用基数庞大(超过100万款),且处于高速增长状态,在同一类型 应用中出现应用名称相似的情况也是极为普遍,采用现有的盗版安卓应用判定方法进行盗 版安卓应用的甄别,犹如大海拱针,不仅盗版应用判定效率低下,误判率高,而且,工作人员 的工作负荷极高。
[0005] 再者,不少盗版者并不W替换正版应用为目的,故盗版应用的包名与正版应用的 包名不一致的情况较为普遍。现有的盗版安卓应用判定方法无法甄别该类盗版应用。

【发明内容】

[0006] 本发明要解决的技术问题在于针对现有技术的上述缺陷,提供一种盗版安卓应用 甄别方法及盗版安卓应用甄别系统。
[0007] 本发明解决其技术问题所采用的技术方案是:构造一种盗版安卓应用甄别方法, 所述方法包括如下步骤:
[0008] S1、采集由各大安卓应用渠道网站发布的安卓应用基本信息,根据安卓应用基本 信息中的应用下载地址从相关下载源下载安卓应用安装包,将采集的安卓应用基本信息及 下载的安卓应用安装包汇总至安卓应用数据存储中屯、;
[0009] S2、基于汇入安卓应用数据存储中屯、的海量安卓应用数据构建包含应用名称、应 用介绍信息及版本信息的安卓应用数据库;
[0010] S3、从正版安卓应用表中选择待监测正版安卓应用,根据输入的筛选条件从安卓 应用数据库中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的 安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄 别。
[0011] 在本发明上述盗版安卓应用甄别方法中,在所述步骤S1之前还包括如下步骤:
[0012] SOI、基于安卓应用开发商提供的正版安卓应用构建正版安卓应用信息表;
[0013] S02、设定用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的 第二判定条件及用于甄别盗版安卓应用的第Ξ判定条件;其中
[0014] 所述第一判定条件如下:al、应用名称相同;bl、安卓应用安装包的包名相同;cl、 版本信息相同;dl、签名证书相同;
[0015] 所述第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、 版本信息不同;d2、签名证书相同;
[0016] 所述第Ξ判定条件如下:a3、应用名称相似;b3、安卓应用安装包的包名相似;d3、 签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相 似度阔值;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文 件相似度阔值;g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图 像文件相似度阔值。
[0017] 在本发明上述盗版安卓应用甄别方法中,所述步骤S3中根据输入的筛选条件从 安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用的步骤包 括:
[0018] 将待监测正版安卓应用的应用名称、设定的应用监测关键字作为检索条件在安卓 应用信息表中检索与该应用名称相似的安卓应用,或者应用介绍信息中包含该应用名称和 /或该应用监测关键字的安卓应用,将检索到的安卓应用定义为待监测正版安卓应用的疑 似安卓应用。
[0019] 在本发明上述盗版安卓应用甄别方法中,所述步骤S3中依照设定的安卓应用版 本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别的步骤包 括:
[0020] 对待监测正版安卓应用及所有疑似安卓应用进行反编译,分别得到待监测正版安 卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,W及各款疑似安卓 应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件;
[0021] 将待监测正版安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali 文件与各款疑似安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件 分别进行比对;
[0022] 如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓 应用的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待 监测正版安卓应用的正版;
[0023] 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用 名称、包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的 版本信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本;
[0024] 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用 名称、包名、签名证书各不相同,则对待监测正版安卓应用及该款疑似安卓应用进行相似度 分析,基于应用相似度分析结果并结合预设的盗版安卓应用判定条件对该款疑似安卓应用 是否属于盗版应用进行综合研判。
[00巧]在本发明上述盗版安卓应用甄别方法中,安卓应用相似度分析包括文本文件相似 度分析、代码相似度分析及图像文件相似度分析;
[00%] 所述对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤包括: [0027] 通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的每个 文件的相似度及代码相似度;其中
[002引第一相似度计算公式如下:Xi= (1-J/D)*100% ;
[0029] Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的 相似度;
[0030] i表不安卓应用的文件编号顺序;
[0031] J表示从源字符串至目标字符串需进行的编辑操作次数;
[0032] D表示文件大小;
[0033] 根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对文件的相 似度值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款疑似安卓 应用的文本文件相似度及代码相似度。
[0034] 在本发明上述盗版安卓应用甄别方法中,对待监测正版安卓应用及该款疑似安卓 应用进行相似度分析的步骤还包括:
[0035] 通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的图像 文件相似度;其中
[0036] 第二相似度计算公式如下:X2= α-Η〇/10)*100% ;
[0037] Χ2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
[0038] Η。表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像 文件的汉明距离值的平均值。
[0039] 在本发明上述盗版安卓应用甄别方法中,平均汉明距离值Η。的计算过程包括如下 步骤:
[0040] 将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用的对比 图像文件的相似度的第一汉明距离值设为Hi, Η为递增变量,且Η的值默认为0 ;
[0041] 将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文件分别 缩小至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行灰化处 理;
[0042] 计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰度平均 值,将第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比较,根据 比较结果构建由数字0及数字1组成的8*8形式的第一数字矩阵;
[0043] 计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的灰度平均 值,将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行比较,根据 比较结果构建由数字0及数字1组成的8*8形式的第二数字矩阵;
[0044] 将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对,判断该对 数字是否相同,如不同,则将Hi的值加1 ; W45] 累计Hi的值;
[0046] 重复上述步骤,依次得到Hi。。。。。。&的值;
[0047] 对Η產Η N的值进行加权平均,得到Η。; W4引 Η。的计算公式如下:
[0049] 其中,Ν表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。
[0050] 本发明还构造一种盗版安卓应用甄别系统,所述系统包括:
[0051] 安卓应用渠道监测系统,用于从各大安卓应用渠道网站采集各款安卓应用的基本 信息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包;
[0052] 安卓应用数据存储中屯、,用于对安卓应用渠道监测系统采集的安卓应用基本信息 及下载的安卓应用安装包进行集中存储;
[0053] 安卓应用数据库,包括基于安卓应用开发商提供的正版安卓应用所构建的正版安 卓应用信息表,用于接收来自安卓应用数据存储中屯、的海量安卓应用数据,基于海量安卓 应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表;
[0054] 安卓应用差异化分析系统,用于从安卓应用数据库的正版安卓应用信息表中选择 待监测正版安卓应用,根据输入的筛选条件从该安卓应用信息表中筛选出与待监测正版安 卓应用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应 用中的正版应用、旧版应用及盗版应用逐一进行甄别。 阳化5] 在本发明上述盗版安卓应用甄别系统中,所述安卓应用渠道监测系统包括布设于 国内外不同区域,采用分布式架构设计,用于从安卓应用渠道网站采集安卓应用页面信息 的第一服务器集群、布设于国内外不同区域,采用分布式架构设计,用于根据该第一服务器 集群爬取到的安卓应用下载地址从相应下载源下载安卓应用安装包的第二服务器集群。
[0056] 在本发明上述盗版安卓应用甄别系统中,所述安卓应用差异化分析系统包括:
[0057] 选择模块,用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入的 筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应 用;
[0058] 安卓应用反编译模块,用于对待监测正版安卓应用安装包及疑似安卓应用安装包 进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文 件及smali文件,W及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及 small文件;
[0059] 安卓应用相似度分析模块,用于根据第一相似度计算公式计算待监测正版安卓应 用与疑似安卓应用的每个文件的相似度及代码相似度,W及用于根据第二相似度计算公式 计算待监测正版安卓应用与疑似安卓应用的图像文件相似度;
[0060] 安卓应用版本判定模块,用于参照设定的正版/历史版本安卓应用判定条件对疑 似安卓应用中的正版应用、旧版应用进行甄别,W及基于安卓应用相似度分析模块提供的 待监测正版安卓应用与疑似安卓应用的文本文件相似度、代码相似度及图像文件相似度并 结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行甄别。
[0061] 实施本发明盗版安卓应用甄别方法及盗版安卓应用甄别系统,可达到W下有益效 果:
[0062] 1、本发明盗版安卓应用甄别系统可根据应用名称及应用监测关键词查找与待监 测正版安卓应用相关联的所有疑似安卓应用,对待监测正版安卓应用及其疑似安卓应用进 行相似度分析(包括文本文件相似度分析、代码相似度分析、图像文件相似度分析),根据 相似度分析结果,并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行 综合研判,相比现有的盗版安卓应用判定技术而言,具有盗版应用的甄别效率及准确率高, 误判率极低的突出优点。
[0063] 2、在本发明盗版安卓应用甄别系统中,安卓应用安全评估系统可对盗版库中的盗 版应用的安全隐患(潜藏于盗版应用中的恶意代码及其恶意行为)进行分析及评估,根据 评估结果生成盗版安卓应用安全性分析报告,故本系统可罗列盗版安卓应用并出具盗版安 卓应用安全性分析报告供用户参考,避免用户下载盗版安卓应用并蒙受损失。
[0064] 3、在本发明安卓应用监测报告生成系统中,安卓应用差异化分析系统可对待监测 正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用及盗版应用进行快速、有效地 甄别,安卓应用监测报告生成系统可基于安卓应用差异化分析系统的甄别结果对待监测正 版安卓应用中的正版应用、旧版应用、盗版应用的总下载量及各自的渠道来源进行统计,出 具待监测正版安卓应用的下载使用情况监测报告,便于正版安卓应用开发商维权。
【附图说明】
[0065] 图1为本发明的第一个较佳实施例提供的盗版安卓应用甄别系统的结构框图;
[0066] 图2为图1所示的盗版安卓应用甄别系统下的安卓应用渠道监测系统的结构框 图;
[0067] 图3为图1所示的盗版安卓应用甄别系统下的安卓应用差异化分析系统的结构框 图;
[0068] 图4为本发明的第二个较佳实施例提供的盗版安卓应用甄别方法的流程图。
【具体实施方式】
[0069] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发 明保护的范围。 W70] 实施例一
[0071] 本实施例掲示了一种盗版安卓应用甄别系统。
[0072] 如图1所示,该盗版安卓应用甄别系统包括依次连接的安卓应用渠道监测系统 100、安卓应用数据存储中屯、200、安卓应用差异化分析系统300、安卓应用数据库400、W及 连接安卓应用数据库400的安卓应用安全评估系统500及安卓应用监测报告生成系统600。 其中:
[0073] 安卓应用渠道监测系统100用于采集由各渠道网站(例如包括360在内的各大移 动应用资源网站)发布的各款安卓应用的基本信息,根据安卓应用基本信息中的应用下载 地址从相关下载源(例如,360移动应用商城、小米移动应用商城、华为移动应用商城)下载 安卓应用安装包。
[0074] 安卓应用数据存储中屯、200用于对安卓应用渠道监测系统100采集的安卓应用基 本信息及下载的安卓应用安装包进行集中存储。
[0075] 安卓应用数据库400用于接收来自安卓应用数据存储中屯、200的海量安卓应用数 据,基于海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息 表。
[0076] 安卓应用安全评估系统500用于对潜藏于盗版应用中的恶意代码及其恶意行为 进行分析及评估,生成盗版安卓应用运行安全性评估结果。
[0077] 安卓应用监测报告生成系统600用于对待监测正版安卓应用的所有疑似安卓应 用中的正版应用、旧版应用、盗版应用的下载量及其渠道来源进行统计,生成安卓应用监测 报告。
[0078] 安卓应用数据库400还包括基于安卓应用开发商提供的正版安卓应用构建的正 版安卓应用信息表、W及存储用于甄别正版安卓应用、历史版本安卓应用及盗版安卓应用 的可调参数(即安卓应用版本判定条件)的安卓应用版本判定参数表。本发明安卓应用版 本判定参数表包括用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的 第二判定条件及用于甄别盗版安卓应用的第Ξ判定条件;其中
[0079] 第一判定条件如下:曰1、应用名称相同;bl、安卓应用安装包的包名相同;cl、版本 信息相同;dl、签名证书相同;
[0080] 第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本 信息不同;d2、签名证书相同;
[0081] 第Ξ判定条件如下:a3、应用名称基本相似;b3、安卓应用安装包的包名相似;d3、 签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相 似度阔值(优选为85%) ;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低 于设定的文本文件相似度阔值(优选为60%) ;g、待监测正版安卓应用与疑似安卓应用的 图像文件相似度不低于设定的图像文件相似度阔值(优选为75% )。
[0082] 安卓应用差异化分析系统300用于从正版安卓应用信息表中选取待监测正版安 卓应用,根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的 所有疑似安卓应用,依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、 旧版应用及盗版应用进行甄别。
[0083] 如图2所示,本发明安卓应用渠道监测系统100包括若干个布设于国内外不同区 域,采用分布式架构设计,用于从各大渠道网站采集安卓应用基本信息(包括应用介绍信 息、应用下载地址、开发商信息、应用版本)的第一服务器集群101、W及布设于国内外不同 区域,采用分布式架构设计,用于根据第一服务器集群101提供的安卓应用下载地址从安 卓应用下载源下载安卓应用安装包的第二服务器集群102。第一服务器集群101及第二服 务器集群102均包括多台云服务器。
[0084] 如图3所示,本发明安卓应用差异化分析系统300包括依次连接的选择模块301、 安卓应用反编译模块302、安卓应用相似度分析模块303及安卓应用版本判定模块304。
[00化]选择模块301用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入 的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应 用;
[0086] 安卓应用反编译模块302用于对待监测正版安卓应用安装包及疑似安卓应用安 装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配 置文件及smali文件,W及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件 及smali文件。
[0087] 安卓应用相似度分析模块303用于根据第一相似度计算公式计算待监测正版安 卓应用与疑似安卓应用的每个文件的相似度及代码相似度,W及用于根据第二相似度计算 公式计算待监测正版安卓应用与疑似安卓应用的图像文件相似度。
[0088] 安卓应用版本判定模块304用于参照设定的正版/历史版本安卓应用判定条件对 疑似安卓应用中的正版应用、旧版应用进行甄别,W及基于待监测正版安卓应用与疑似安 卓应用的文本文件相似度、代码相似度及图像文件相似度并结合设定的盗版安卓应用判定 条件对疑似安卓应用中的盗版应用进行甄别。
[0089] 在本发明盗版安卓应用甄别系统中:
[0090] 第一相似度计算公式如下:Xi= (1-J/D)*100% ;
[0091] Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的 相似度; 阳092] i表示安卓应用的文件编号顺序;
[0093] J表示从源字符串至目标字符串需进行的编辑操作次数;
[0094] D表示文件大小。 阳0巧]第二相似度计算公式如下:X2= α-Η〇/ιο)*ιοο% ;
[0096] Χ2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
[0097] Η。表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像 文件的汉明距离值的平均值。 阳〇9引实施例二
[0099] 本实施例掲示了一种基于实施例一所述的盗版安卓应用甄别系统的盗版安卓应 用甄别方法。如图4所示,该方法的处理流程包括如下步骤:
[0100] 步骤101、本系统操作人员预先设置安卓应用版本判定条件(包括用于甄别正版 安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安 卓应用的第Ξ判定条件),将安卓应用版本判定条件有关的参数数据存储于安卓数据库中 的安卓应用版本判定参数表。 阳101] 本系统操作人员基于安卓应用开发商提供的正版安卓应用构建一个正版安卓应 用信息表,将正版安卓应用信息表存储于安卓数据库。 阳102] 步骤102、通过安卓应用渠道监测系统100从各大渠道网站采集安卓应用基本信 息,根据安卓应用基本信息中的应用下载地址从相关安卓应用网站下载安卓应用安装包 (An化oid化ckage,ΑΡΚ),将采集的安卓应用基本信息及下载的安卓应用安装包汇入安卓 应用数据存储中屯、200。 阳103] 步骤103、安卓应用差异化分析系统300将来自安卓应用数据存储中屯、200的安卓 应用数据转存于安卓应用数据库400。
[0104] 步骤104、安卓应用差异化分析系统300的选择模块301从正版安卓应用信息表 中选择待监测正版应用,根据输入的筛选条件(包括应用名称、关键词)从安卓应用数据库 400中筛选与待监测正版安卓应用相关联的所有疑似安卓应用(可W是应用名称与筛选条 件中的应用名称相似的安卓应用,或者应用介绍信息中包含该关键词的安卓应用)。
[01化]步骤105、安卓应用反编译模块302对待监测正版安卓应用及其关联的所有疑似 安卓应用的安装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名 称、资源文件、配置文件及smali文件,W及各款疑似安卓应用的包名、签名证书、应用名 称、资源文件、配置文件及smali文件。 阳106] 步骤106、安卓应用版本判定模块304将待监测正版安卓应用的应用名称、包名、 签名证书、资源文件、配置文件及smali文件与各款疑似安卓应用的应用名称、包名、签名 证书、资源文件、配置文件及smali文件分别进行比对。 阳107] 如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓 应用的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待 监测正版安卓应用的正版应用。
[0108] 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用 名称、包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的 版本信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本。
[0109] 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用 名称、包名、签名证书各不相同,则进入步骤107。
[0110] 步骤107、通过安卓应用相似度分析模块303对待监测正版安卓应用及该款疑似 安卓应用进行相似度分析,基于应用相似度分析结果并结合设定的盗版安卓应用判定条件 对该款疑似安卓应用是否属于盗版应用进行综合研判,将经确认的盗版安卓应用纳入盗版 库。
[0111] 步骤107包括W下几个子步骤:
[0112] 步骤1071、通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应 用的每个文件的相似度;其中
[0113] 第一相似度计算公式如下:Xi= (1-J/D)*100% ;
[0114] Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的 相似度;
[0115] i表示安卓应用的文件编号顺序;
[0116] J表示从源字符串至目标字符串需进行的编辑操作次数;
[0117] D表示文件大小;
[0118] 步骤1072、根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对 文件的相似度值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款 疑似安卓应用的文本文件相似度及代码相似度;
[0119] 步骤1073、通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应 用的图像文件相似度;其中
[0120] 第二相似度计算公式如下:X2= α-Η〇/1〇)*1〇〇% ; 阳121] Χ2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
[0122] Η。表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像 文件的汉明距离值的平均值。
[0123] 其中,步骤1073中平均汉明距离值Η。的计算过程包括W下几个子步骤:
[0124] S10731、将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用 的对比图像文件的相似度的第一汉明距离值设为Hi, Η为递增变量,且Η的值默认为0 ;
[01巧]S10732、将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文 件分别缩小至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行 灰化处理; 阳1%] S10733、计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰 度平均值,将第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比 较,根据比较结果构建由数字0及数字1组成的8*8形式的第一数字矩阵;
[0127] S10734、计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的 灰度平均值,将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行 比较,根据比较结果构建由数字0及数字1组成的8*8形式的第二数字矩阵;
[0128] S10735、将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对, 判断该对数字是否相同,如不同,则将Hi的值加1 ; 阳129] 累计Hi的值;
[0130] 重复上述步骤,依次得到Hi。。。。。。&的值; 阳131] S10736、对Hi至Hw的值进行加权平均,得到H。; 阳132] H。的计算公式如下:
[0133] 其中,N表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。
[0134] 步骤108、安卓应用安全评估系统500对盗版库中的盗版应用的安全隐患(潜藏于 盗版应用中的恶意代码及其恶意行为)进行分析及评估,根据评估结果生成盗版安卓应用 安全性分析报告。安卓应用监测报告生成系统600对待监测正版安卓应用的所有疑似安卓 应用中的正版应用、旧版应用、盗版应用的下载量及其渠道来源进行统计,生成安卓应用监 测报告。
[0135] 综上所述,本发明盗版安卓应用甄别方法及盗版安卓应用甄别系统的优点体现 于:
[0136] 1、本发明盗版安卓应用甄别系统可根据应用名称及应用监测关键词查找与待监 测正版安卓应用相关联的所有疑似安卓应用,对待监测正版安卓应用及其疑似安卓应用进 行相似度分析(包括文本文件相似度分析、代码相似度分析、图像文件相似度分析),根据 相似度分析结果,并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行 综合研判,相比现有的盗版安卓应用判定技术而言,具有盗版应用的甄别效率及准确率高, 误判率极低的突出优点。
[0137] 2、在本发明盗版安卓应用甄别系统中,安卓应用安全评估系统500可对盗版库中 的盗版应用的安全隐患(潜藏于盗版应用中的恶意代码及其恶意行为)进行分析及评估, 根据评估结果生成盗版安卓应用安全性分析报告,故本系统可罗列盗版安卓应用并出具盗 版安卓应用安全性分析报告供用户参考,避免用户下载盗版安卓应用并蒙受损失。
[0138] 3、在本发明安卓应用监测报告生成系统600中,安卓应用差异化分析系统300可 对待监测正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用及盗版应用进行快 速、有效地甄别,安卓应用监测报告生成系统600可基于安卓应用差异化分析系统300的甄 别结果对待监测正版安卓应用中的正版应用、旧版应用、盗版应用的总下载量及各自的渠 道来源进行统计,出具待监测正版安卓应用的下载使用情况监测报告,便于正版安卓应用 开发商维权。
[0139] 本领域普通技术人员可W理解实现上述实施例方法中的全部或部分环节,是可W 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的环节。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体巧ead化ly Memo巧,ROM)或随机存储记忆体(Random Access Memoir, RAM)等。
[0140] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体 实施方式,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员 在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多 形式,运些均属于本发明的保护之内。
【主权项】
1. 一种盗版安卓应用甄别方法,其特征在于,所述方法包括如下步骤: 51、 采集由各大安卓应用渠道网站发布的安卓应用基本信息,根据安卓应用基本信息 中的应用下载地址从相关下载源下载安卓应用安装包,将采集的安卓应用基本信息及下载 的安卓应用安装包汇总至安卓应用数据存储中屯、; 52、 基于汇入安卓应用数据存储中屯、的海量安卓应用数据构建包含应用名称、应用介 绍信息及版本信息的安卓应用数据库; 53、 从正版安卓应用表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用 数据库中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的安卓应 用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别。2. 根据权利要求1所述的盗版安卓应用甄别方法,其特征在于,在所述步骤Sl之前还 包括如下步骤: 501、 基于安卓应用开发商提供的正版安卓应用构建正版安卓应用信息表; 502、 设定用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二 判定条件及用于甄别盗版安卓应用的第=判定条件;其中 所述第一判定条件如下:al、应用名称相同;bl、安卓应用安装包的包名相同;cl、版本 信息相同;dl、签名证书相同; 所述第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本 信息不同;d2、签名证书相同; 所述第=判定条件如下:曰3、应用名称相似;b3、安卓应用安装包的包名相似;d3、签名 证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相似度 阔值;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文件相 似度阔值;g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图像文 件相似度阔值。3. 根据权利要求2所述的盗版安卓应用甄别方法,其特征在于,所述步骤S3中根据输 入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓 应用的步骤包括: 将待监测正版安卓应用的应用名称、设定的应用监测关键字作为检索条件在安卓应用 信息表中检索与该应用名称相似的安卓应用,或者应用介绍信息中包含该应用名称和/或 该应用监测关键字的安卓应用,将检索到的安卓应用定义为待监测正版安卓应用的疑似安 卓应用。4. 根据权利要求3所述的盗版安卓应用甄别方法,其特征在于,所述步骤S3中依照设 定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进 行甄别的步骤包括: 对待监测正版安卓应用及所有疑似安卓应用进行反编译,分别得到待监测正版安卓应 用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,W及各款疑似安卓应用 的包名、签名证书、应用名称、资源文件、配置文件及smali文件; 将待监测正版安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文 件与各款疑似安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件分 别进行比对; 如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓应用 的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待监测 正版安卓应用的正版; 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、 包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的版本 信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本; 如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、 包名、签名证书各不相同,则对待监测正版安卓应用及该款疑似安卓应用进行相似度分析, 基于应用相似度分析结果并结合预设的盗版安卓应用判定条件对该款疑似安卓应用是否 属于盗版应用进行综合研判。5. 根据权利要求4所述的盗版安卓应用甄别方法,其特征在于,安卓应用相似度分析 包括文本文件相似度分析、代码相似度分析及图像文件相似度分析; 所述对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤包括: 通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的每个文件 的相似度及代码相似度;其中 第一相似度计算公式如下單二(1-J/D)*100% ; Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的相似 度; i表示安卓应用的文件编号顺序; J表示从源字符串至目标字符串需进行的编辑操作次数; D表示文件大小; 根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对文件的相似度 值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款疑似安卓应用 的文本文件相似度及代码相似度。6. 根据权利要求5所述的盗版安卓应用甄别方法,其特征在于,所述对待监测正版安 卓应用及该款疑似安卓应用进行相似度分析的步骤还包括: 通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的图像文件 相似度;其中 第二相似度计算公式如下:X2= (l-H〇/10)*100% ; X2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度; H。表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像文件 的汉明距离值的平均值。7. 根据权利要求6所述的盗版安卓应用甄别方法,其特征在于,平均汉明距离值H。的 计算过程包括如下步骤: 将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用的对比图像 文件的相似度的第一汉明距离值设为Hi, H为递增变量,且H的值默认为O ; 将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文件分别缩小 至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行灰化处理; 计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰度平均值,将 第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比较,根据比较 结果构建由数字O及数字1组成的8*8形式的第一数字矩阵; 计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的灰度平均值, 将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行比较,根据比 较结果构建由数字O及数字1组成的8*8形式的第二数字矩阵; 将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对,判断该对数字 是否相同,如不同,则将Hi的值加1 ; 累计Hi的值; 重复上述步骤,依次得到Hi。。。。。。&的值; 对H產H W的值进行加权平均,得到H。; H。的计算公式如下:其中,N表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。8. -种盗版安卓应用甄别系统,其特征在于,所述系统包括: 安卓应用渠道监测系统,用于从各大安卓应用渠道网站采集各款安卓应用的基本信 息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包; 安卓应用数据存储中屯、,用于对安卓应用渠道监测系统采集的安卓应用基本信息及下 载的安卓应用安装包进行集中存储; 安卓应用数据库,包括基于安卓应用开发商提供的正版安卓应用所构建的正版安卓应 用信息表,用于接收来自安卓应用数据存储中屯、的海量安卓应用数据,基于海量安卓应用 数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表; 安卓应用差异化分析系统,用于从安卓应用数据库的正版安卓应用信息表中选择待监 测正版安卓应用,根据输入的筛选条件从该安卓应用信息表中筛选出与待监测正版安卓应 用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应用中 的正版应用、旧版应用及盗版应用逐一进行甄别。9. 根据权利要求8所述的盗版安卓应用甄别系统,其特征在于,所述安卓应用渠道监 测系统包括布设于国内外不同区域,采用分布式架构设计,用于从安卓应用渠道网站采集 安卓应用页面信息的第一服务器集群、布设于国内外不同区域,采用分布式架构设计,用于 根据该第一服务器集群爬取到的安卓应用下载地址从相应下载源下载安卓应用安装包的 第二服务器集群。10. 根据权利要求9所述的盗版安卓应用甄别系统,其特征在于,所述安卓应用差异化 分析系统包括: 选择模块,用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选 条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用; 安卓应用反编译模块,用于对待监测正版安卓应用安装包及疑似安卓应用安装包进行 反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及 smali文件,W及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali 文件; 安卓应用相似度分析模块,用于根据第一相似度计算公式计算待监测正版安卓应用与 疑似安卓应用的每个文件的相似度及代码相似度,W及用于根据第二相似度计算公式计算 待监测正版安卓应用与疑似安卓应用的图像文件相似度; 安卓应用版本判定模块,用于参照设定的正版/历史版本安卓应用判定条件对疑似安 卓应用中的正版应用、旧版应用进行甄别,W及基于安卓应用相似度分析模块提供的待监 测正版安卓应用与疑似安卓应用的文本文件相似度、代码相似度及图像文件相似度并结合 设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行甄别。
【文档编号】G06F21/12GK105989251SQ201510075472
【公开日】2016年10月5日
【申请日】2015年2月12日
【发明人】周建宁, 刘志诚, 王巍, 吴卓坤, 霍要峰, 陈文博, 王刚, 劳剑明
【申请人】卓望数码技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1