CN105989251B - 一种盗版安卓应用甄别方法及盗版安卓应用甄别*** - Google Patents
一种盗版安卓应用甄别方法及盗版安卓应用甄别*** Download PDFInfo
- Publication number
- CN105989251B CN105989251B CN201510075472.8A CN201510075472A CN105989251B CN 105989251 B CN105989251 B CN 105989251B CN 201510075472 A CN201510075472 A CN 201510075472A CN 105989251 B CN105989251 B CN 105989251B
- Authority
- CN
- China
- Prior art keywords
- android
- android application
- application
- legal
- doubtful
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种盗版安卓应用甄别方法及盗版安卓应用甄别***。所述***包括用于从安卓应用发布渠道采集安卓应用基本信息,下载安卓应用安装包的安卓应用渠道监测***、用于对安卓应用基本信息及安卓应用安装包进行集中存储的安卓应用数据存储中心、用于基于安卓应用数据存储中心的海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表的安卓应用数据库、用于从预先构建的正版安卓应用信息表中选择待监测正版安卓应用,从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用进行甄别的安卓应用差异化分析***。
Description
技术领域
本发明涉及安卓应用监控技术领域,更具体地说,涉及一种盗版安卓应用甄别方法及盗版安卓应用甄别***。
背景技术
目前,盗版安卓应用判定方法主要取决于应用的名称、包名、签名证书,即判定应用名称是否相似,包名是否相同,签名证书是否不同。如某款安卓应用同时符合上述三个条件,则判定该款安卓应用为盗版应用。
实际上,一方面,对于同一应用的不同版本,可能因为原作者的签名证书到期换证,从而造成签名证书发生变化,同时因为应用发布渠道不同,可能出现渠道对所发布的应用重新签名的情况。
另一方面,安卓应用基数庞大(超过100万款),且处于高速增长状态,在同一类型应用中出现应用名称相似的情况也是极为普遍,采用现有的盗版安卓应用判定方法进行盗版安卓应用的甄别,犹如大海捞针,不仅盗版应用判定效率低下,误判率高,而且,工作人员的工作负荷极高。
再者,不少盗版者并不以替换正版应用为目的,故盗版应用的包名与正版应用的包名不一致的情况较为普遍。现有的盗版安卓应用判定方法无法甄别该类盗版应用。
发明内容
本发明要解决的技术问题在于针对现有技术的上述缺陷,提供一种盗版安卓应用甄别方法及盗版安卓应用甄别***。
本发明解决其技术问题所采用的技术方案是:构造一种盗版安卓应用甄别方法,所述方法包括如下步骤:
S1、采集由各大安卓应用渠道网站发布的安卓应用基本信息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包,将采集的安卓应用基本信息及下载的安卓应用安装包汇总至安卓应用数据存储中心;
S2、基于汇入安卓应用数据存储中心的海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用数据库;
S3、从正版安卓应用表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用数据库中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别。
在本发明上述盗版安卓应用甄别方法中,在所述步骤S1之前还包括如下步骤:
S01、基于安卓应用开发商提供的正版安卓应用构建正版安卓应用信息表;
S02、设定用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安卓应用的第三判定条件;其中
所述第一判定条件如下:a1、应用名称相同;b1、安卓应用安装包的包名相同;c1、版本信息相同;d1、签名证书相同;
所述第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本信息不同;d2、签名证书相同;
所述第三判定条件如下:a3、应用名称相似;b3、安卓应用安装包的包名相似;d3、签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相似度阈值;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文件相似度阈值;g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图像文件相似度阈值。
在本发明上述盗版安卓应用甄别方法中,所述步骤S3中根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用的步骤包括:
将待监测正版安卓应用的应用名称、设定的应用监测关键字作为检索条件在安卓应用信息表中检索与该应用名称相似的安卓应用,或者应用介绍信息中包含该应用名称和/或该应用监测关键字的安卓应用,将检索到的安卓应用定义为待监测正版安卓应用的疑似安卓应用。
在本发明上述盗版安卓应用甄别方法中,所述步骤S3中依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别的步骤包括:
对待监测正版安卓应用及所有疑似安卓应用进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及各款疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件;
将待监测正版安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件与各款疑似安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件分别进行比对;
如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓应用的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待监测正版安卓应用的正版;
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的版本信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本;
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书各不相同,则对待监测正版安卓应用及该款疑似安卓应用进行相似度分析,基于应用相似度分析结果并结合预设的盗版安卓应用判定条件对该款疑似安卓应用是否属于盗版应用进行综合研判。
在本发明上述盗版安卓应用甄别方法中,安卓应用相似度分析包括文本文件相似度分析、代码相似度分析及图像文件相似度分析;
所述对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤包括:
通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的每个文件的相似度及代码相似度;其中
第一相似度计算公式如下:Xi=(1-J/D)*100%;
Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的相似度;
i表示安卓应用的文件编号顺序;
J表示从源字符串至目标字符串需进行的编辑操作次数;
D表示文件大小;
根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对文件的相似度值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款疑似安卓应用的文本文件相似度及代码相似度。
在本发明上述盗版安卓应用甄别方法中,对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤还包括:
通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的图像文件相似度;其中
第二相似度计算公式如下:X2=(1-H0/10)*100%;
X2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
H0表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像文件的汉明距离值的平均值。
在本发明上述盗版安卓应用甄别方法中,平均汉明距离值H0的计算过程包括如下步骤:
将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用的对比图像文件的相似度的第一汉明距离值设为H1,H为递增变量,且H的值默认为0;
将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文件分别缩小至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行灰化处理;
计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰度平均值,将第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第一数字矩阵;
计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的灰度平均值,将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第二数字矩阵;
将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对,判断该对数字是否相同,如不同,则将H1的值加1;
累计H1的值;
重复上述步骤,依次得到H1。。。。。。HN的值;
对H1至HN的值进行加权平均,得到H0;
H0的计算公式如下:
其中,N表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。
本发明还构造一种盗版安卓应用甄别***,所述***包括:
安卓应用渠道监测***,用于从各大安卓应用渠道网站采集各款安卓应用的基本信息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包;
安卓应用数据存储中心,用于对安卓应用渠道监测***采集的安卓应用基本信息及下载的安卓应用安装包进行集中存储;
安卓应用数据库,包括基于安卓应用开发商提供的正版安卓应用所构建的正版安卓应用信息表,用于接收来自安卓应用数据存储中心的海量安卓应用数据,基于海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表;
安卓应用差异化分析***,用于从安卓应用数据库的正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选条件从该安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别。
在本发明上述盗版安卓应用甄别***中,所述安卓应用渠道监测***包括布设于国内外不同区域,采用分布式架构设计,用于从安卓应用渠道网站采集安卓应用页面信息的第一服务器集群、布设于国内外不同区域,采用分布式架构设计,用于根据该第一服务器集群爬取到的安卓应用下载地址从相应下载源下载安卓应用安装包的第二服务器集群。
在本发明上述盗版安卓应用甄别***中,所述安卓应用差异化分析***包括:
选择模块,用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用;
安卓应用反编译模块,用于对待监测正版安卓应用安装包及疑似安卓应用安装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件;
安卓应用相似度分析模块,用于根据第一相似度计算公式计算待监测正版安卓应用与疑似安卓应用的每个文件的相似度及代码相似度,以及用于根据第二相似度计算公式计算待监测正版安卓应用与疑似安卓应用的图像文件相似度;
安卓应用版本判定模块,用于参照设定的正版/历史版本安卓应用判定条件对疑似安卓应用中的正版应用、旧版应用进行甄别,以及基于安卓应用相似度分析模块提供的待监测正版安卓应用与疑似安卓应用的文本文件相似度、代码相似度及图像文件相似度并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行甄别。
实施本发明盗版安卓应用甄别方法及盗版安卓应用甄别***,可达到以下有益效果:
1、本发明盗版安卓应用甄别***可根据应用名称及应用监测关键词查找与待监测正版安卓应用相关联的所有疑似安卓应用,对待监测正版安卓应用及其疑似安卓应用进行相似度分析(包括文本文件相似度分析、代码相似度分析、图像文件相似度分析),根据相似度分析结果,并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行综合研判,相比现有的盗版安卓应用判定技术而言,具有盗版应用的甄别效率及准确率高,误判率极低的突出优点。
2、在本发明盗版安卓应用甄别***中,安卓应用安全评估***可对盗版库中的盗版应用的安全隐患(潜藏于盗版应用中的恶意代码及其恶意行为)进行分析及评估,根据评估结果生成盗版安卓应用安全性分析报告,故本***可罗列盗版安卓应用并出具盗版安卓应用安全性分析报告供用户参考,避免用户下载盗版安卓应用并蒙受损失。
3、在本发明安卓应用监测报告生成***中,安卓应用差异化分析***可对待监测正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用及盗版应用进行快速、有效地甄别,安卓应用监测报告生成***可基于安卓应用差异化分析***的甄别结果对待监测正版安卓应用中的正版应用、旧版应用、盗版应用的总下载量及各自的渠道来源进行统计,出具待监测正版安卓应用的下载使用情况监测报告,便于正版安卓应用开发商维权。
附图说明
图1为本发明的第一个较佳实施例提供的盗版安卓应用甄别***的结构框图;
图2为图1所示的盗版安卓应用甄别***下的安卓应用渠道监测***的结构框图;
图3为图1所示的盗版安卓应用甄别***下的安卓应用差异化分析***的结构框图;
图4为本发明的第二个较佳实施例提供的盗版安卓应用甄别方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例揭示了一种盗版安卓应用甄别***。
如图1所示,该盗版安卓应用甄别***包括依次连接的安卓应用渠道监测***100、安卓应用数据存储中心200、安卓应用差异化分析***300、安卓应用数据库400、以及连接安卓应用数据库400的安卓应用安全评估***500及安卓应用监测报告生成***600。其中:
安卓应用渠道监测***100用于采集由各渠道网站(例如包括360在内的各大移动应用资源网站)发布的各款安卓应用的基本信息,根据安卓应用基本信息中的应用下载地址从相关下载源(例如,360移动应用商城、小米移动应用商城、华为移动应用商城)下载安卓应用安装包。
安卓应用数据存储中心200用于对安卓应用渠道监测***100采集的安卓应用基本信息及下载的安卓应用安装包进行集中存储。
安卓应用数据库400用于接收来自安卓应用数据存储中心200的海量安卓应用数据,基于海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表。
安卓应用安全评估***500用于对潜藏于盗版应用中的恶意代码及其恶意行为进行分析及评估,生成盗版安卓应用运行安全性评估结果。
安卓应用监测报告生成***600用于对待监测正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用、盗版应用的下载量及其渠道来源进行统计,生成安卓应用监测报告。
安卓应用数据库400还包括基于安卓应用开发商提供的正版安卓应用构建的正版安卓应用信息表、以及存储用于甄别正版安卓应用、历史版本安卓应用及盗版安卓应用的可调参数(即安卓应用版本判定条件)的安卓应用版本判定参数表。本发明安卓应用版本判定参数表包括用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安卓应用的第三判定条件;其中
第一判定条件如下:a1、应用名称相同;b1、安卓应用安装包的包名相同;c1、版本信息相同;d1、签名证书相同;
第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本信息不同;d2、签名证书相同;
第三判定条件如下:a3、应用名称基本相似;b3、安卓应用安装包的包名相似;d3、签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相似度阈值(优选为85%);f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文件相似度阈值(优选为60%);g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图像文件相似度阈值(优选为75%)。
安卓应用差异化分析***300用于从正版安卓应用信息表中选取待监测正版安卓应用,根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用进行甄别。
如图2所示,本发明安卓应用渠道监测***100包括若干个布设于国内外不同区域,采用分布式架构设计,用于从各大渠道网站采集安卓应用基本信息(包括应用介绍信息、应用下载地址、开发商信息、应用版本)的第一服务器集群101、以及布设于国内外不同区域,采用分布式架构设计,用于根据第一服务器集群101提供的安卓应用下载地址从安卓应用下载源下载安卓应用安装包的第二服务器集群102。第一服务器集群101及第二服务器集群102均包括多台云服务器。
如图3所示,本发明安卓应用差异化分析***300包括依次连接的选择模块301、安卓应用反编译模块302、安卓应用相似度分析模块303及安卓应用版本判定模块304。
选择模块301用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用;
安卓应用反编译模块302用于对待监测正版安卓应用安装包及疑似安卓应用安装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件。
安卓应用相似度分析模块303用于根据第一相似度计算公式计算待监测正版安卓应用与疑似安卓应用的每个文件的相似度及代码相似度,以及用于根据第二相似度计算公式计算待监测正版安卓应用与疑似安卓应用的图像文件相似度。
安卓应用版本判定模块304用于参照设定的正版/历史版本安卓应用判定条件对疑似安卓应用中的正版应用、旧版应用进行甄别,以及基于待监测正版安卓应用与疑似安卓应用的文本文件相似度、代码相似度及图像文件相似度并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行甄别。
在本发明盗版安卓应用甄别***中:
第一相似度计算公式如下:Xi=(1-J/D)*100%;
Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的相似度;
i表示安卓应用的文件编号顺序;
J表示从源字符串至目标字符串需进行的编辑操作次数;
D表示文件大小。
第二相似度计算公式如下:X2=(1-H0/10)*100%;
X2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
H0表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像文件的汉明距离值的平均值。
实施例二
本实施例揭示了一种基于实施例一所述的盗版安卓应用甄别***的盗版安卓应用甄别方法。如图4所示,该方法的处理流程包括如下步骤:
步骤101、本***操作人员预先设置安卓应用版本判定条件(包括用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安卓应用的第三判定条件),将安卓应用版本判定条件有关的参数数据存储于安卓数据库中的安卓应用版本判定参数表。
本***操作人员基于安卓应用开发商提供的正版安卓应用构建一个正版安卓应用信息表,将正版安卓应用信息表存储于安卓数据库。
步骤102、通过安卓应用渠道监测***100从各大渠道网站采集安卓应用基本信息,根据安卓应用基本信息中的应用下载地址从相关安卓应用网站下载安卓应用安装包(Android Package,APK),将采集的安卓应用基本信息及下载的安卓应用安装包汇入安卓应用数据存储中心200。
步骤103、安卓应用差异化分析***300将来自安卓应用数据存储中心200的安卓应用数据转存于安卓应用数据库400。
步骤104、安卓应用差异化分析***300的选择模块301从正版安卓应用信息表中选择待监测正版应用,根据输入的筛选条件(包括应用名称、关键词)从安卓应用数据库400中筛选与待监测正版安卓应用相关联的所有疑似安卓应用(可以是应用名称与筛选条件中的应用名称相似的安卓应用,或者应用介绍信息中包含该关键词的安卓应用)。
步骤105、安卓应用反编译模块302对待监测正版安卓应用及其关联的所有疑似安卓应用的安装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及各款疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件。
步骤106、安卓应用版本判定模块304将待监测正版安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件与各款疑似安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件分别进行比对。
如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓应用的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待监测正版安卓应用的正版应用。
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的版本信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本。
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书各不相同,则进入步骤107。
步骤107、通过安卓应用相似度分析模块303对待监测正版安卓应用及该款疑似安卓应用进行相似度分析,基于应用相似度分析结果并结合设定的盗版安卓应用判定条件对该款疑似安卓应用是否属于盗版应用进行综合研判,将经确认的盗版安卓应用纳入盗版库。
步骤107包括以下几个子步骤:
步骤1071、通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的每个文件的相似度;其中
第一相似度计算公式如下:Xi=(1-J/D)*100%;
Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的相似度;
i表示安卓应用的文件编号顺序;
J表示从源字符串至目标字符串需进行的编辑操作次数;
D表示文件大小;
步骤1072、根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对文件的相似度值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款疑似安卓应用的文本文件相似度及代码相似度;
步骤1073、通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的图像文件相似度;其中
第二相似度计算公式如下:X2=(1-H0/10)*100%;
X2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
H0表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像文件的汉明距离值的平均值。
其中,步骤1073中平均汉明距离值H0的计算过程包括以下几个子步骤:
S10731、将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用的对比图像文件的相似度的第一汉明距离值设为H1,H为递增变量,且H的值默认为0;
S10732、将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文件分别缩小至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行灰化处理;
S10733、计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰度平均值,将第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第一数字矩阵;
S10734、计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的灰度平均值,将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第二数字矩阵;
S10735、将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对,判断该对数字是否相同,如不同,则将H1的值加1;
累计H1的值;
重复上述步骤,依次得到H1。。。。。。HN的值;
S10736、对H1至HN的值进行加权平均,得到H0;
H0的计算公式如下:
其中,N表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。
步骤108、安卓应用安全评估***500对盗版库中的盗版应用的安全隐患(潜藏于盗版应用中的恶意代码及其恶意行为)进行分析及评估,根据评估结果生成盗版安卓应用安全性分析报告。安卓应用监测报告生成***600对待监测正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用、盗版应用的下载量及其渠道来源进行统计,生成安卓应用监测报告。
综上所述,本发明盗版安卓应用甄别方法及盗版安卓应用甄别***的优点体现于:
1、本发明盗版安卓应用甄别***可根据应用名称及应用监测关键词查找与待监测正版安卓应用相关联的所有疑似安卓应用,对待监测正版安卓应用及其疑似安卓应用进行相似度分析(包括文本文件相似度分析、代码相似度分析、图像文件相似度分析),根据相似度分析结果,并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行综合研判,相比现有的盗版安卓应用判定技术而言,具有盗版应用的甄别效率及准确率高,误判率极低的突出优点。
2、在本发明盗版安卓应用甄别***中,安卓应用安全评估***500可对盗版库中的盗版应用的安全隐患(潜藏于盗版应用中的恶意代码及其恶意行为)进行分析及评估,根据评估结果生成盗版安卓应用安全性分析报告,故本***可罗列盗版安卓应用并出具盗版安卓应用安全性分析报告供用户参考,避免用户下载盗版安卓应用并蒙受损失。
3、在本发明安卓应用监测报告生成***600中,安卓应用差异化分析***300可对待监测正版安卓应用的所有疑似安卓应用中的正版应用、旧版应用及盗版应用进行快速、有效地甄别,安卓应用监测报告生成***600可基于安卓应用差异化分析***300的甄别结果对待监测正版安卓应用中的正版应用、旧版应用、盗版应用的总下载量及各自的渠道来源进行统计,出具待监测正版安卓应用的下载使用情况监测报告,便于正版安卓应用开发商维权。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分环节,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的环节。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (9)
1.一种盗版安卓应用甄别方法,其特征在于,所述方法包括如下步骤:
S1、采集由各大安卓应用渠道网站发布的安卓应用基本信息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包,将采集的安卓应用基本信息及下载的安卓应用安装包汇总至安卓应用数据存储中心;
S2、基于汇入安卓应用数据存储中心的海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用数据库;
S3、从正版安卓应用表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用数据库中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别;
所述方法在所述步骤S1之前还包括如下步骤:
S01、基于安卓应用开发商提供的正版安卓应用构建正版安卓应用信息表;
S02、设定用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安卓应用的第三判定条件;其中,
所述第一判定条件如下:a1、应用名称相同;b1、安卓应用安装包的包名相同;c1、版本信息相同;d1、签名证书相同;
所述第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本信息不同;d2、签名证书相同;
所述第三判定条件如下:a3、应用名称相似;b3、安卓应用安装包的包名相似;d3、签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相似度阈值;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文件相似度阈值;g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图像文件相似度阈值。
2.根据权利要求1所述的盗版安卓应用甄别方法,其特征在于,所述步骤S3中根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用的步骤包括:
将待监测正版安卓应用的应用名称、设定的应用监测关键字作为检索条件在安卓应用信息表中检索与该应用名称相似的安卓应用,或者应用介绍信息中包含该应用名称和/或该应用监测关键字的安卓应用,将检索到的安卓应用定义为待监测正版安卓应用的疑似安卓应用。
3.根据权利要求2所述的盗版安卓应用甄别方法,其特征在于,所述步骤S3中依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别的步骤包括:
对待监测正版安卓应用及所有疑似安卓应用进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及各款疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件;
将待监测正版安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件与各款疑似安卓应用的应用名称、包名、签名证书、资源文件、配置文件及smali文件分别进行比对;
如待监测正版安卓应用的应用名称、包名、版本信息、签名证书与某一款疑似安卓应用的应用名称、包名、版本信息、签名证书分别对应相同,则判定该款疑似安卓应用为待监测正版安卓应用的正版;
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书对应相同,且待监测正版安卓应用的版本信息与该款疑似安卓应用的版本信息不同,则判定该款疑似安卓应用为该款待监测安卓应用的历史版本;
如待监测正版安卓应用的应用名称、包名、签名证书与某款疑似安卓应用的应用名称、包名、签名证书各不相同,则对待监测正版安卓应用及该款疑似安卓应用进行相似度分析,基于应用相似度分析结果并结合预设的盗版安卓应用判定条件对该款疑似安卓应用是否属于盗版应用进行综合研判。
4.根据权利要求3所述的盗版安卓应用甄别方法,其特征在于,安卓应用相似度分析包括文本文件相似度分析、代码相似度分析及图像文件相似度分析;
所述对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤包括:
通过第一相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的每个文件的相似度及代码相似度;其中
第一相似度计算公式如下:Xi=(1-J/D)*100%;
Xi表示待监测正版安卓应用的其中一个文件与该款疑似安卓应用的对比文件的相似度;
i表示安卓应用的文件编号顺序;
J表示从源字符串至目标字符串需进行的编辑操作次数;
D表示文件大小;
根据第一相似度公式计算两款安卓应用的各对文件的相似度值及各对文件的相似度值的平均值,将所计算的相似度值的平均值作为待监测正版安卓应用与该款疑似安卓应用的文本文件相似度及代码相似度。
5.根据权利要求4所述的盗版安卓应用甄别方法,其特征在于,所述对待监测正版安卓应用及该款疑似安卓应用进行相似度分析的步骤还包括:
通过第二相似度计算公式计算待监测正版安卓应用与该款疑似安卓应用的图像文件相似度;其中
第二相似度计算公式如下:X2=(1-H0/10)*100%;
X2表示待监测正版安卓应用及该款疑似安卓应用之间的图像相似度;
H0表示平均汉明距离值,即待监测正版安卓应用及该款疑似安卓应用的各个图像文件的汉明距离值的平均值。
6.根据权利要求5所述的盗版安卓应用甄别方法,其特征在于,平均汉明距离值H0的计算过程包括如下步骤:
将用于表征待监测正版安卓应用的第一个图像文件及该款疑似安卓应用的对比图像文件的相似度的第一汉明距离值设为H1,H为递增变量,且H的值默认为0;
将待监测正版安卓应用的第一个图像文件及疑似安卓应用的对比图像文件分别缩小至8*8的图片尺寸,对该缩小尺寸后的第一图像文件及对比图像文件分别进行灰化处理;
计算经灰化处理的第一个图像文件的每个像素的灰度及64个像素的灰度平均值,将第一个图像文件下的每个像素的灰度与64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第一数字矩阵;
计算该疑似安卓应用的对比图像文件的各个像素的灰度及64个像素的灰度平均值,将该对比图像文件下的每个像素的灰度及64个像素的灰度平均值一一进行比较,根据比较结果构建由数字0及数字1组成的8*8形式的第二数字矩阵;
将第一数字矩阵与第二数字矩阵中坐标位置相同的数字逐一进行比对,判断该对数字是否相同,如不同,则将H1的值加1;
累计H1的值;
重复上述步骤,依次得到H1。。。。。。HN的值;
对H1至HN的值进行加权平均,得到H0;
H0的计算公式如下:
其中,N表示待监测正版安卓应用及疑似安卓应用的图像文件的数量。
7.一种盗版安卓应用甄别***,其特征在于,所述***包括:
安卓应用渠道监测***,用于从各大安卓应用渠道网站采集各款安卓应用的基本信息,根据安卓应用基本信息中的应用下载地址从相关下载源下载安卓应用安装包;
安卓应用数据存储中心,用于对安卓应用渠道监测***采集的安卓应用基本信息及下载的安卓应用安装包进行集中存储;
安卓应用数据库,包括基于安卓应用开发商提供的正版安卓应用所构建的正版安卓应用信息表,用于接收来自安卓应用数据存储中心的海量安卓应用数据,基于海量安卓应用数据构建包含应用名称、应用介绍信息及版本信息的安卓应用信息表;
安卓应用差异化分析***,用于从安卓应用数据库的正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选条件从该安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用,并依照设定的安卓应用版本判定条件对该疑似安卓应用中的正版应用、旧版应用及盗版应用逐一进行甄别;
其中,所述设定的安卓应用版本判定条件包括用于甄别正版安卓应用的第一判定条件、用于甄别历史版本安卓应用的第二判定条件及用于甄别盗版安卓应用的第三判定条件;其中,
所述第一判定条件如下:a1、应用名称相同;b1、安卓应用安装包的包名相同;c1、版本信息相同;d1、签名证书相同;
所述第二判定条件如下:a2、应用名称相同;b2、安卓应用安装包的包名相同;c2、版本信息不同;d2、签名证书相同;
所述第三判定条件如下:a3、应用名称相似;b3、安卓应用安装包的包名相似;d3、签名证书不同;e、待监测正版安卓应用与疑似安卓应用的代码相似度不低于设定的代码相似度阈值;f、待监测正版安卓应用与疑似安卓应用的文本文件相似度不低于设定的文本文件相似度阈值;g、待监测正版安卓应用与疑似安卓应用的图像文件相似度不低于设定的图像文件相似度阈值。
8.根据权利要求7所述的盗版安卓应用甄别***,其特征在于,所述安卓应用渠道监测***包括布设于国内外不同区域,采用分布式架构设计,用于从安卓应用渠道网站采集安卓应用页面信息的第一服务器集群、布设于国内外不同区域,采用分布式架构设计,用于根据该第一服务器集群爬取到的安卓应用下载地址从相应下载源下载安卓应用安装包的第二服务器集群。
9.根据权利要求8所述的盗版安卓应用甄别***,其特征在于,所述安卓应用差异化分析***包括:
选择模块,用于从正版安卓应用信息表中选择待监测正版安卓应用,根据输入的筛选条件从安卓应用信息表中筛选出与待监测正版安卓应用相关联的所有疑似安卓应用;
安卓应用反编译模块,用于对待监测正版安卓应用安装包及疑似安卓应用安装包进行反编译,分别得到待监测正版安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件,以及疑似安卓应用的包名、签名证书、应用名称、资源文件、配置文件及smali文件;
安卓应用相似度分析模块,用于根据第一相似度计算公式计算待监测正版安卓应用与疑似安卓应用的每个文件的相似度及代码相似度,以及用于根据第二相似度计算公式计算待监测正版安卓应用与疑似安卓应用的图像文件相似度;
安卓应用版本判定模块,用于参照设定的正版/历史版本安卓应用判定条件对疑似安卓应用中的正版应用、旧版应用进行甄别,以及基于安卓应用相似度分析模块提供的待监测正版安卓应用与疑似安卓应用的文本文件相似度、代码相似度及图像文件相似度并结合设定的盗版安卓应用判定条件对疑似安卓应用中的盗版应用进行甄别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075472.8A CN105989251B (zh) | 2015-02-12 | 2015-02-12 | 一种盗版安卓应用甄别方法及盗版安卓应用甄别*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075472.8A CN105989251B (zh) | 2015-02-12 | 2015-02-12 | 一种盗版安卓应用甄别方法及盗版安卓应用甄别*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105989251A CN105989251A (zh) | 2016-10-05 |
CN105989251B true CN105989251B (zh) | 2019-03-29 |
Family
ID=57042109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075472.8A Active CN105989251B (zh) | 2015-02-12 | 2015-02-12 | 一种盗版安卓应用甄别方法及盗版安卓应用甄别*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105989251B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548074A (zh) * | 2016-12-09 | 2017-03-29 | 江苏通付盾科技有限公司 | 应用程序分析监测方法及*** |
CN106919844B (zh) * | 2017-02-14 | 2019-08-02 | 暨南大学 | 一种Android***应用程序漏洞检测方法 |
CN107220527A (zh) * | 2017-04-18 | 2017-09-29 | 努比亚技术有限公司 | 一种应用甄别方法及应用管理设备 |
CN109002441A (zh) * | 2017-06-06 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 应用名称相似度的确定方法、异常应用检测方法及*** |
CN109583157A (zh) * | 2017-09-29 | 2019-04-05 | 卓望数码技术(深圳)有限公司 | 一种app远程追踪保护方法和*** |
CN110610066B (zh) * | 2018-06-15 | 2022-08-09 | 武汉安天信息技术有限责任公司 | 仿冒应用检测方法和相关装置 |
CN110362729A (zh) * | 2019-07-03 | 2019-10-22 | 杭州安恒信息技术股份有限公司 | 基于搜索引擎的未上架风险app检索方法 |
CN111046316B (zh) * | 2019-12-16 | 2023-03-21 | 北京智游网安科技有限公司 | 一种应用上架状态监控方法、智能终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222199A (zh) * | 2011-06-03 | 2011-10-19 | 奇智软件(北京)有限公司 | 应用程序身份识别方法及*** |
CN102779257A (zh) * | 2012-06-28 | 2012-11-14 | 奇智软件(北京)有限公司 | 一种Android应用程序的安全检测方法及*** |
CN103324697A (zh) * | 2013-06-07 | 2013-09-25 | 北京掌汇天下科技有限公司 | 一种基于图标对比的android应用搜索山寨应用剔除方法 |
CN104123493A (zh) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 应用程序的安全性检测方法和装置 |
CN104133832A (zh) * | 2014-05-15 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 盗版应用的识别方法及装置 |
-
2015
- 2015-02-12 CN CN201510075472.8A patent/CN105989251B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222199A (zh) * | 2011-06-03 | 2011-10-19 | 奇智软件(北京)有限公司 | 应用程序身份识别方法及*** |
CN102779257A (zh) * | 2012-06-28 | 2012-11-14 | 奇智软件(北京)有限公司 | 一种Android应用程序的安全检测方法及*** |
CN103324697A (zh) * | 2013-06-07 | 2013-09-25 | 北京掌汇天下科技有限公司 | 一种基于图标对比的android应用搜索山寨应用剔除方法 |
CN104133832A (zh) * | 2014-05-15 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 盗版应用的识别方法及装置 |
CN104123493A (zh) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 应用程序的安全性检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105989251A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989251B (zh) | 一种盗版安卓应用甄别方法及盗版安卓应用甄别*** | |
US9178899B2 (en) | Detecting automated site scans | |
CN103493061B (zh) | 用于应对恶意软件的方法和装置 | |
US11570211B1 (en) | Detection of phishing attacks using similarity analysis | |
US10097360B2 (en) | Automated test to tell computers and humans apart | |
Sun et al. | DroidEagle: Seamless detection of visually similar Android apps | |
CN108509775B (zh) | 一种基于机器学习的恶意png图像识别方法 | |
US9032085B1 (en) | Identifying use of software applications | |
CN104486140B (zh) | 一种检测网页被劫持的装置及其检测方法 | |
JP2019526137A (ja) | 一致するコンテンツを特定するためのシステムおよび方法 | |
JP2019527444A (ja) | 一致するコンテンツを特定するためのシステムおよび方法 | |
CN103279710B (zh) | Internet信息***恶意代码的检测方法和*** | |
Suarez-Tangil et al. | Stegomalware: Playing hide and seek with malicious components in smartphone apps | |
CN102999723B (zh) | 主动防御xss攻击的数据防御组件生成方法及其装置 | |
WO2014039399A2 (en) | Method and system for monitoring advertisement displays | |
CN111163095B (zh) | 网络攻击分析方法、网络攻击分析装置、计算设备和介质 | |
US20190222587A1 (en) | System and method for detection of attacks in a computer network using deception elements | |
KR101803889B1 (ko) | 위험도 기반 악성 어플리케이션 탐지 방법 및 장치 | |
AU2012211490A1 (en) | Systems and methods for identifying associations between malware samples | |
Siby et al. | {WebGraph}: Capturing advertising and tracking information flows for robust blocking | |
CN111163094B (zh) | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 | |
CN106302515B (zh) | 一种网站安全防护的方法和装置 | |
CN106411951A (zh) | 网络攻击行为检测方法及装置 | |
CN110334301B (zh) | 一种页面还原方法及装置 | |
Demir et al. | On the Similarity of Web Measurements Under Different Experimental Setups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |