CN103324697A - 一种基于图标对比的android应用搜索山寨应用剔除方法 - Google Patents

一种基于图标对比的android应用搜索山寨应用剔除方法 Download PDF

Info

Publication number
CN103324697A
CN103324697A CN2013102247216A CN201310224721A CN103324697A CN 103324697 A CN103324697 A CN 103324697A CN 2013102247216 A CN2013102247216 A CN 2013102247216A CN 201310224721 A CN201310224721 A CN 201310224721A CN 103324697 A CN103324697 A CN 103324697A
Authority
CN
China
Prior art keywords
application
icon
prime
grabs
authentication database
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.)
Granted
Application number
CN2013102247216A
Other languages
English (en)
Other versions
CN103324697B (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.)
BEIJING ZHANGHUI TIANXIA TECHNOLOGY Co Ltd
Original Assignee
BEIJING ZHANGHUI TIANXIA TECHNOLOGY Co Ltd
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 BEIJING ZHANGHUI TIANXIA TECHNOLOGY Co Ltd filed Critical BEIJING ZHANGHUI TIANXIA TECHNOLOGY Co Ltd
Priority to CN201310224721.6A priority Critical patent/CN103324697B/zh
Publication of CN103324697A publication Critical patent/CN103324697A/zh
Application granted granted Critical
Publication of CN103324697B publication Critical patent/CN103324697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明为一种android应用搜索的山寨应用剔除方法,其包括以下步骤:由爬虫网络抓取符合条件的应用;判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,若不存在,则该符合条件的应用属于新的应用;判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版;若判断结果为否,将其判断为山寨应用。该发明采用包名、签名和图标认证的方式,有效剔除了在检索过程中的山寨应用。

Description

一种基于图标对比的android应用搜索山寨应用剔除方法
技术领域
本发明涉及一种搜索剔除方法,特别涉及一种基于图标对比和签名对比的android应用搜索山寨应用剔除方法。 
背景技术
android应用搜索领域,目前存在一个严重的问题,就是山寨应用层出不穷,各种应用市场都存在大量用户看起来无法分辨的类似(或相同)应用,让用户无所适从;山寨应用的生成者,有两种主要的打包方式:一是不改变原应用包名,添加恶意代码之后使用自有签名发布;二是修改应用包名,同时使用自有签名发布。即使是Google Play上面,也存在不少这种形式的山寨软件,第三方市场中,这种问题就更是普遍。在人工审核中,这种问题在特别知名的应用中可以比较好的通过审核人员的知识进行人工过滤。但对于不太知名的软件,以及在全网应用抓取中,由于人工或者网络爬虫都无法以简单的标准判断一个应用是否为山寨应用,因此这个问题更加棘手。 
请参阅中国发明专利:《网页搜索方法和装置》,申请号:CN201210548469.X,公开了一种网页搜索方法和装置,在浏览器搜索栏中加载预置的搜索引擎类别信息生成搜索引擎类别列表;在浏览器搜索栏输入框中接收输入的搜索用关键字;接收对所述搜索引擎类别列表中的搜索引擎类别的选择信息;加载所选的搜索引擎类别对应的搜索引擎列表;接收对所述搜索引擎列表中的搜索引擎的选择信息,并依据所述搜索用关键字向所选择的搜索引擎发起搜索请求。该专利中使用搜索关键字形成搜索引擎列表,并未在搜索过程中进行鉴别和确认,检索到的信息极易产生无法分辨的类似信息。 
鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本创作。 
发明内容
本发明的目的在于提供一种android应用搜索的山寨应用剔除方法, 用以克服上述技术缺陷。 
为实现上述目的,本发明提供一种android应用搜索的山寨应用剔除方法,其包括以下步骤: 
步骤a,由爬虫网络抓取符合条件的应用; 
步骤b,判断上述步骤a中抓取到的符合条件的应用是否与认证数据库中存在的应用存在相同的包名;若抓取到的符合条件的应用与认证数据库中存在的应用存在相同的包名,则跳转至下述步骤d;若不存在,则跳转至下述步骤c; 
步骤c,判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至下述步骤e;若不存在,则该符合条件的应用属于新的应用,跳转至下述步骤f; 
步骤d,判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至下述步骤f;若判断结果为否,将其判断为山寨应用,跳转至下述步骤e; 
步骤e,将该抓取到的应用从网络中剔除,跳转至下述步骤h; 
步骤f,将该抓取到的应用添加至正版应用索引列表; 
步骤g,将上述步骤f中得到的正版应用索引列表,经整理后发送至前端呈现给用户; 
步骤h,结束。 
较佳的,所述认证数据库的形成过程为: 
步骤b1,将希望被收录进认证数据库的正版应用向认证数据库发出认证请求; 
步骤b2,所述认证数据库对提出请求的正版应用进行认证; 
步骤b3,将通过上述步骤b2认证的正版应用进行解析,获取正版作者签名; 
步骤b4,获取正版应用图标; 
步骤b5,从已认证正版应用中获取正版应用包名并存储在认证签名库; 
步骤b6,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中; 
步骤b7将所有的正版应用的包名存储至认证签名库; 
步骤b8,将所有的正版应用的图标存储至应用图标库; 
步骤b9,经过上述步骤b8存储至所述应用图标库的应用图标形成所 述应用图标库; 
步骤b10,经过上述步骤b7存储至所述认证签名库的认证签名和存储的正版包名形成所述认证签名库; 
步骤b11,所述认证签名库和应用图标库形成所述认证数据库。 
较佳的,所述步骤c中图标对比的过程为: 
步骤c1,抓取到的应用与认证数据库中存在的应用不存在相同的包名; 
步骤c2,获取抓取到的应用图标; 
步骤c3,将上述步骤c2抓取到的应用图标送往应用图标库进行检测; 
步骤c4,对所有应用图标库中的图标进行检测;若认证数据库中存在与抓取到的应用图标相同、包名不同的图标,则跳转至步骤c5;若不存在,则跳转至步骤c6; 
步骤c5,跳转至上述步骤e; 
步骤c6,跳转至上述步骤f。 
较佳的,所述步骤d中签名对比的过程为: 
步骤d1,所搜到的应用与认证数据库中存在的应用存在相同的包名; 
步骤d2,抓取该抓取到的应用的签名; 
步骤d3,将所述步骤d1获取的签名信息送达认证签名库送检; 
步骤d4,在认证签名库中定位上述步骤d2中检测到的认证数据库中相同的包名所对应的签名; 
步骤d5,检测所述步骤d3所送检的签名是否与所述步骤d4中定位的已认证签名相同;若相同,则跳转至下述步骤d6;若不同,则跳转至下述步骤d7; 
步骤d6,跳转至上述步骤e; 
步骤d7,跳转至上述步骤f。 
较佳的,上述步骤a中,由用户在前端输入关键词,所述爬虫网络根据用户所输入的关键词对全网范围内进行搜索,抓取符合关键词条件的android应用并形成初步列表。 
较佳的,上述步骤c中对所有应用图标库中的图标进行对比的过程,采用模板匹配的方法进行比对,其过程为: 
步骤c11,将认证数据库中的图标与抓取到的应用的图标统一大小; 
步骤c12,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤c13,否则,跳转至上述步骤e; 
步骤c13,比较所述认证数据库中的图标与抓取到的应用的图标基于 标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1(K1≥0),则执行下述步骤c14;若否,则跳转至上述步骤e; 
步骤c14,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥0),则执行下述步骤c15;若否,则跳转至上述步骤e; 
步骤c15,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳装置上述步骤f;若否,则跳转至上述步骤e。 
较佳的,上述步骤c13中匹配度R1,根据下述公式(1)计算, 
R 1 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) * I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 1 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算; 
上述步骤c14中匹配度R2,根据下述公式(2)计算, 
R 2 ( x , y ) = Σ x ′ , y ′ ( T ′ ( x ′ , y ′ ) * I ′ ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ′ ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ′ ( x + x ′ , y + y ′ ) 2 - - - ( 2 )
其中,T′和I′由下述公式(3)、(4)定义, 
T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″)         (3) 
I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″)   (4) 
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算; 
上述步骤c15中匹配度R3,根据下述公式(5)计算, 
R 3 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) - I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 5 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。 
较佳的,所述预设值k为10度;所述阈值K1取值为0.99;所述阈值K2 取值为0.95;所述阈值K3取值为0.01。 
较佳的,所述认证数据库包括一认证签名库和一应用图标库,所述认证签名库中的包名和签名一一对应。 
较佳的,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。 
与现有技术比较本发明的有益效果在于:本发明android应用抓取的山寨应用剔除方法,将需要抓取的应用分别于一认证数据库中的应用先后进行包名、签名、图标的比对验证,能够有效鉴别抓取到的应用属于对正版应用修改包名的山寨应用,或者抓取到的应用为全新的应用,或者抓取到的应用属于继承原有包名对正版应用进行山寨,或者认证数据库中存在应用与抓取到的应用包名相同、签名不同的山寨应用的多种情况,经过三种不同的对比方式,有效剔除山寨应用;在判断过程中,其参照一预先形成的认证数据库,该认证数据库包括应用图标库和认证签名库,使所述图标认证和签名认证能够有序进行。 
附图说明
图1为本发明android应用搜索的山寨应用剔除方法第一实施例的流程图; 
图2为本发明android应用搜索的山寨应用剔除方法的认证数据库实现过程的流程图; 
图3为本发明android应用搜索的山寨应用剔除方法的图标对比实现方法的流程图; 
图4所为本发明android应用搜索的山寨应用剔除方法中图标模板匹配过程的流程图; 
图5为本发明android应用搜索的山寨应用剔除方法的签名对比实现方法的流程图。 
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。 
实施例一: 
本发明android应用搜索山寨应用剔除方法能够按以下步骤实现: 
请参阅图1所示,其为本发明android应用搜索的山寨应用剔除方法第一实施例的流程图,该过程为: 
步骤a101:由爬虫网络抓取符合条件的应用,具体为:用户在前端输入关键词,爬虫网络抓取到符合关键词条件的android应用并形成初步列表; 
步骤a102:判断抓取到的应用是否与认证数据库中存在的应用存在相同的包名,将经过所述步骤a101所形成的列表中的应用依次送至认证数据库,将抓取到的应用的包名与全库应用的包名进行比对,判断是否存在相同的包名;若抓取到的应用与认证数据库中存在的应用存在相同的包名,则跳转至步骤a104;若不存在,则跳转至步骤a103;该发明中的认证数据库包括一应用图标库和一认证签名库,其中,所述认证签名库中的包名和签名一一对应。 
步骤a103:判断该抓取到的应用是否与认证数据库中存在的应用存在相同图标,具体为,经过所述步骤a102判断若不存在相同的包名,则对抓取到的应用的图标进行进一步判断,若判断结果为是,即认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至步骤a105;若不存在,即认证数据库中存在与抓取到的应用包名不同、图标也不同的情况,属于新的应用,则跳转至步骤a106; 
步骤a104:判断该抓取到的应用是否与认证数据库中该应用具有相同的签名;经过所述步骤102判断若存在相同的包名,则对抓取到的应用的签名进行进一步判断,若判断结果为是,即认证数据库中存在应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至步骤a106; 
经过步骤a102判断若存在相同的包名,则对抓取到的应用的签名进行进一步判断,若判断结果为否,及认证数据库中存在应用与抓取到的应用包名相同、签名不同,可将其判断为山寨,跳转至步骤a106。 
步骤a105:将经过上述步骤a102、a103、a104步骤判定为包名相同、签名不同,或者包名不同、图标相同,则将该抓取到的应用从网络中剔除; 
步骤a106:将经过上述步骤a102、a103、a104步骤判定为包名相同、签名相同,或者包名不同、图标不同,则将该抓取到的应用添加至正版应用索引列表; 
步骤a107:通过上述步骤a101、a102、a103、a104、a106筛选得到的正版应用索引列表,经整理后发送至前端呈现给用户。 
通过上述步骤a101、a102、a103、a104、a105筛选剔除的山寨应用, 将从应用网络中完全删除,不会再被抓取引擎重新抓取到。 
请参阅图2所示,其为本发明android应用搜索的山寨应用剔除方法的认证数据库形成过程的流程图,该过程为: 
步骤a201:正版应用请求认证;具体为,希望被收录进认证数据库的正版应用向认证数据库发出认证请求; 
步骤a202:认证数据库对提出请求的正版应用进行认证;具体为,认证数据库首先检测该应用是否正版应用,分别执行下述步骤a203、a204、a205; 
步骤a203:获取正版作者签名;具体为,通过正版认证的所述步骤202之后解析该应用,获取正版作者签名; 
步骤a204:获取正版应用图标;具体为,从已认证应用中获取正版应用图标并存储在应用图标库; 
步骤a205:获取正版包名;具体为,从已认证正版应用中获取正版应用包名并存储在认证签名库; 
步骤a206:经散列函数运算成为序列码;具体为获取正版应用作者签名之后,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中; 
步骤a207:存储至认证签名库;具体为,将所有的正版应用的包名存储至认证签名库; 
步骤a208:存储至应用图标库;具体为,将所有的正版应用的图标存储至应用图标库; 
步骤a209:形成应用图标库;具体为,经过步骤208存储至应用图标库的应用图标形成应用图标库; 
步骤a210:形成认证签名库;具体为,经过步骤207存储至认证签名库的认证签名和存储的正版包名形成认证签名库; 
步骤a211:形成认证数据库,具体为,认证签名库和应用图标库形成认证数据库。 
步骤a103:判断该抓取到的应用是否与认证数据库中存在的应用存在相同图标,具体为,经过所述步骤a102判断若不存在相同的包名,则对抓取到的应用的图标进行进一步判断,若判断结果为是,即认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至步骤a105;若不存在,即认证数据库中存在与抓取到的应用包名不同、图标也不同的情况,属于新的应用,则跳转至步骤a106; 
请参阅图3所示,其为本发明android应用搜索的山寨应用剔除方法的图标对比实现方法的流程图; 
步骤a300:抓取到的应用与认证数据库中存在的应用不存在相同的包名; 
步骤a301:获取抓取到的应用图标,具体为,若判断结果为未检测到与认证数据库中存在相同包名的应用,则抓取到的应用图标; 
步骤a302:向应用图标库送检,具体为,将所述步骤a301抓取到的应用图标送往应用图标库进行检测; 
步骤a303:图像检测:是否模板匹配,具体为,对所有应用图标库中的图标进行检测,范围为应用图标库中所有应用图标,本实施例中使用模板匹配的方法进行检测,将认证数据库中的所有应用图标与该抓取应用的图标进行一一比对;具体为,经步骤a303检测结果若为匹配,则认证数据库中存在一应用与抓取到的应用,存在图标相同、包名不同的情况,可认定,此抓取到的应用属于对正版应用修改包名的山寨应用,将其判定为山寨并跳转至步骤a304;检测结果若为不匹配,则该抓取到的应用与认证数据库中现有应用包名不相同、图标也不相同,属于全新的应用,不属于山寨并跳转至步骤a305; 
步骤a304:则将该抓取到的应用从网络中剔除(同上述步骤a105)跳转至步骤a105; 
步骤a305:则将该抓取到的应用添加至正版应用索引列表(同上述步骤a105)。 
其中,在所述步骤a302、步骤a303步骤之后亦可添加对抓取到的应用进行签名检测的步骤。 
请参阅图4所示,其为本发明android应用搜索的山寨应用剔除方法中图标模板匹配过程的流程图,上述步骤a303中,所述抓取到的图标与认证数据库中的图标进行模板的过程为: 
步骤a41,将认证数据库中的图标与抓取到的应用的图标统一大小;其大小根据预先设定的数值而定; 
步骤a42,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤a43,否则,跳转至上述步骤a304;在本实施例中,该预设值k为10度; 
步骤a43,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1,则执行下述步骤a44;若否,则跳转至步骤a46;在本实施例中该阈值K1(K1≥0)取值为0.99; 
上述计算匹配度R1依据下述公式(1)进行, 
R 1 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) * I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 1 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。 
步骤a44,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥0),则执行下述步骤a45;若否,则跳转至步骤a46;在本实施例中该阈值K2取值为0.95; 
上述计算匹配度R2依据下述公式(2)进行, 
R 2 ( x , y ) = Σ x ′ , y ′ ( T ′ ( x ′ , y ′ ) * I ′ ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ′ ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ′ ( x + x ′ , y + y ′ ) 2 - - - ( 2 )
其中,T′和I′由下述公式(3)、(4)定义, 
T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″)      (3) 
I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″)   (4) 
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。 
步骤a45,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳装置上述步骤a305;若否,则跳转至步骤a46;在本实施例中该阈值K3取值为0.01; 
上述计算匹配度R3依据下述公式(5)进行, 
R 3 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) - I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 5 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。 
步骤a46,跳转至上述步骤a304; 
步骤a47,跳转至上述步骤a305。 
所述抓取到的图标与认证数据库中的图标进行上述模板匹配后,则可 断定该抓取到的应用程序是否为全新的应用程序。 
请参阅图5所示,其为本发明android应用搜索的山寨应用剔除方法的签名对比实现方法的流程图。 
步骤a400:抓取到的应用经由认证数据库判断,存在与认证数据库中所认证存储的应用具有相同的包名; 
步骤a401:若判断结果为检测到与认证数据库中存在相同包名应用,则抓取该抓取到的应用的签名; 
步骤a402:将所述步骤401获取的签名信息送达认证签名库送检; 
步骤a403:在认证签名库中定位步骤102中检测到的认证数据库中相同的包名所对应的签名; 
步骤a404:检测所述步骤402所送检的签名是否与所述步骤403中定位的已认证签名相同;若所述步骤402检测结果为不同,则认证数据库中存在已认证应用与所抓取到的应用具有相同的包名和不同的签名,可认定,抓取到的应用属于继承原有包名对正版应用进行山寨的方法,由于其无法复制原有作者的签名,所以通过此种方法将其鉴别出来,若检测结果为包名相同、签名不同,并跳转至步骤a405;若步骤402检测结果为相同,则认证数据库中存在已认证应用与所抓取到的应用具有相同的包名和签名,则可判定所抓取到的应用为正版,并跳转至步骤a406; 
步骤a405:跳转至下述步骤a105; 
步骤a406:跳转至下述步骤a106; 
其中,在上述步骤a402、a403、a404之后亦可加入对抓取到的应用进行图标检测的步骤。 
在本发明中,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。 
以上所述仅为本发明的较佳实施例,对发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。 

Claims (10)

1.一种android应用搜索的山寨应用剔除方法,其特征在于,其包括以下步骤:
步骤a,由爬虫网络抓取符合条件的应用;
步骤b,判断上述步骤a中抓取到的符合条件的应用是否与认证数据库中存在的应用存在相同的包名;若抓取到的符合条件的应用与认证数据库中存在的应用存在相同的包名,则跳转至下述步骤d;若不存在,则跳转至下述步骤c;
步骤c,判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至下述步骤e;若不存在,则该符合条件的应用属于新的应用,跳转至下述步骤f;
步骤d,判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至下述步骤f;若判断结果为否,将其判断为山寨应用,跳转至下述步骤e;
步骤e,将该抓取到的应用从网络中剔除,跳转至下述步骤h;
步骤f,将该抓取到的应用添加至正版应用索引列表;
步骤g,将上述步骤f中得到的正版应用索引列表,经整理后发送至前端呈现给用户;
步骤h,结束。
2.根据权利要求1所述的android应用搜索的山寨应用剔除方法,其特征在于,所述认证数据库的形成过程为:
步骤b1,将希望被收录进认证数据库的正版应用向认证数据库发出认证请求;
步骤b2,所述认证数据库对提出请求的正版应用进行认证;
步骤b3,将通过上述步骤b2认证的正版应用进行解析,获取正版作者签名;
步骤b4,获取正版应用图标;
步骤b5,从已认证正版应用中获取正版应用包名并存储在认证签名库;
步骤b6,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中;
步骤b7将所有的正版应用的包名存储至认证签名库;
步骤b8,将所有的正版应用的图标存储至应用图标库;
步骤b9,经过上述步骤b8存储至所述应用图标库的应用图标形成所述应用图标库;
步骤b10,经过上述步骤b7存储至所述认证签名库的认证签名和存储的正版包名形成所述认证签名库;
步骤b11,所述认证签名库和应用图标库形成所述认证数据库。
3.根据权利要求2所述的android应用搜索的山寨应用剔除方法,其特征在于,所述步骤c中图标对比的过程为:
步骤c1,抓取到的应用与认证数据库中存在的应用不存在相同的包名;
步骤c2,获取抓取到的应用图标;
步骤c3,将上述步骤c2抓取到的应用图标送往应用图标库进行检测;
步骤c4,对所有应用图标库中的图标进行检测;若认证数据库中存在与抓取到的应用图标相同、包名不同的图标,则跳转至步骤c5;若不存在,则跳转至步骤c6;
步骤c5,跳转至上述步骤e;
步骤c6,跳转至上述步骤f。
4.根据权利要求2或3所述的android应用搜索的山寨应用剔除方法,其特征在于,所述步骤d中签名对比的过程为:
步骤d1,所搜到的应用与认证数据库中存在的应用存在相同的包名;
步骤d2,抓取该抓取到的应用的签名;
步骤d3,将所述步骤d1获取的签名信息送达认证签名库送检;
步骤d4,在认证签名库中定位上述步骤d2中检测到的认证数据库中相同的包名所对应的签名;
步骤d5,检测所述步骤d3所送检的签名是否与所述步骤d4中定位的已认证签名相同;若相同,则跳转至下述步骤d6;若不同,则跳转至下述步骤d7;
步骤d6,跳转至上述步骤e;
步骤d7,跳转至上述步骤f。
5.根据权利要求1或2所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤a中,由用户在前端输入关键词,所述爬虫网络根据用户所输入的关键词对全网范围内进行搜索,抓取符合关键词条件的android应用并形成初步列表。
6.根据权利要求1所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤c中对所有应用图标库中的图标进行对比的过程,采用模板匹配的方法进行比对,其过程为:
步骤c11,将认证数据库中的图标与抓取到的应用的图标统一大小;
步骤c12,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤c13,否则,跳转至上述步骤e;
步骤c13,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1(K1≥0),则执行下述步骤c14;若否,则跳转至上述步骤e;
步骤c14,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥0),则执行下述步骤c15;若否,则跳转至上述步骤e;
步骤c15,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳装置上述步骤f;若否,则跳转至上述步骤e。
7.根据权利要求6所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤c13中匹配度R1,根据下述公式(1)计算,
R 1 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) * I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 1 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;
上述步骤c14中匹配度R2,根据下述公式(2)计算,
R 2 ( x , y ) = Σ x ′ , y ′ ( T ′ ( x ′ , y ′ ) * I ′ ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ′ ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ′ ( x + x ′ , y + y ′ ) 2 - - - ( 2 )
其中,T′和I′由下述公式(3)、(4)定义,
T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″)        (3)
I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″)    (4)
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;
上述步骤c15中匹配度R3,根据下述公式(5)计算,
R 3 ( x , y ) = Σ x ′ , y ′ ( T ( x ′ , y ′ ) - I ( x + x ′ , y + y ′ ) ) Σ x ′ , y ′ T ( x ′ , y ′ ) 2 * Σ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 - - - ( 5 )
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。
8.根据权利要求6所述的android应用搜索的山寨应用剔除方法,其特征在于,所述预设值k为10度;所述阈值K1取值为0.99;所述阈值K2取值为0.95;所述阈值K3取值为0.01。
9.根据权利要求1或2所述的android应用搜索的山寨应用剔除方法,其特征在于,所述认证数据库包括一认证签名库和一应用图标库,所述认证签名库中的包名和签名一一对应。
10.根据权利要求1或2所述的android应用搜索的山寨应用剔除方法,其特征在于,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。
CN201310224721.6A 2013-06-07 2013-06-07 一种基于图标对比的android应用搜索山寨应用剔除方法 Active CN103324697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310224721.6A CN103324697B (zh) 2013-06-07 2013-06-07 一种基于图标对比的android应用搜索山寨应用剔除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310224721.6A CN103324697B (zh) 2013-06-07 2013-06-07 一种基于图标对比的android应用搜索山寨应用剔除方法

Publications (2)

Publication Number Publication Date
CN103324697A true CN103324697A (zh) 2013-09-25
CN103324697B CN103324697B (zh) 2016-08-24

Family

ID=49193440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310224721.6A Active CN103324697B (zh) 2013-06-07 2013-06-07 一种基于图标对比的android应用搜索山寨应用剔除方法

Country Status (1)

Country Link
CN (1) CN103324697B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133832A (zh) * 2014-05-15 2014-11-05 腾讯科技(深圳)有限公司 盗版应用的识别方法及装置
CN104298522A (zh) * 2014-09-22 2015-01-21 联想(北京)有限公司 一种信息处理方法及第一电子设备
CN104462879A (zh) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 应用程序免Root运行控制方法与装置
CN105574186A (zh) * 2015-12-21 2016-05-11 广州爱九游信息技术有限公司 应用匹配方法和装置
CN105825084A (zh) * 2015-01-06 2016-08-03 阿里巴巴集团控股有限公司 用于对具有图像的对象进行匹配检测的方法
CN105989251A (zh) * 2015-02-12 2016-10-05 卓望数码技术(深圳)有限公司 一种盗版安卓应用甄别方法及盗版安卓应用甄别***
CN106055602A (zh) * 2016-05-24 2016-10-26 腾讯科技(深圳)有限公司 文件验证方法及装置
CN107220527A (zh) * 2017-04-18 2017-09-29 努比亚技术有限公司 一种应用甄别方法及应用管理设备
CN108920909A (zh) * 2018-06-30 2018-11-30 平安科技(深圳)有限公司 仿冒移动应用程序判别方法及***
CN109726294A (zh) * 2018-12-04 2019-05-07 北京奇艺世纪科技有限公司 一种App实体对齐方法、装置及电子设备
CN110704104A (zh) * 2019-10-14 2020-01-17 北京智游网安科技有限公司 一种应用仿冒检测方法、智能终端及存储介质
CN112149101A (zh) * 2019-06-28 2020-12-29 北京智明星通科技股份有限公司 虚假游戏app识别方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069959A (ja) * 2007-09-11 2009-04-02 Hitachi Information Systems Ltd ソフトウェア管理システムと方法およびプログラム
CN102222199A (zh) * 2011-06-03 2011-10-19 奇智软件(北京)有限公司 应用程序身份识别方法及***
CN102254113A (zh) * 2011-06-27 2011-11-23 深圳市安之天信息技术有限公司 一种检测和拦截移动终端恶意代码的方法及***
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069959A (ja) * 2007-09-11 2009-04-02 Hitachi Information Systems Ltd ソフトウェア管理システムと方法およびプログラム
CN102222199A (zh) * 2011-06-03 2011-10-19 奇智软件(北京)有限公司 应用程序身份识别方法及***
CN102254113A (zh) * 2011-06-27 2011-11-23 深圳市安之天信息技术有限公司 一种检测和拦截移动终端恶意代码的方法及***
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及***

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133832B (zh) * 2014-05-15 2016-07-13 腾讯科技(深圳)有限公司 盗版应用的识别方法及装置
CN104133832A (zh) * 2014-05-15 2014-11-05 腾讯科技(深圳)有限公司 盗版应用的识别方法及装置
CN104298522A (zh) * 2014-09-22 2015-01-21 联想(北京)有限公司 一种信息处理方法及第一电子设备
CN104298522B (zh) * 2014-09-22 2018-08-31 联想(北京)有限公司 一种信息处理方法及第一电子设备
CN104462879B (zh) * 2014-11-28 2018-04-17 北京奇虎科技有限公司 应用程序免Root运行控制方法与装置
CN104462879A (zh) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 应用程序免Root运行控制方法与装置
CN105825084A (zh) * 2015-01-06 2016-08-03 阿里巴巴集团控股有限公司 用于对具有图像的对象进行匹配检测的方法
CN105825084B (zh) * 2015-01-06 2019-10-18 阿里巴巴集团控股有限公司 用于对具有图像的对象进行匹配检测的方法
CN105989251B (zh) * 2015-02-12 2019-03-29 卓望数码技术(深圳)有限公司 一种盗版安卓应用甄别方法及盗版安卓应用甄别***
CN105989251A (zh) * 2015-02-12 2016-10-05 卓望数码技术(深圳)有限公司 一种盗版安卓应用甄别方法及盗版安卓应用甄别***
CN105574186A (zh) * 2015-12-21 2016-05-11 广州爱九游信息技术有限公司 应用匹配方法和装置
CN105574186B (zh) * 2015-12-21 2019-02-15 广州爱九游信息技术有限公司 应用匹配方法和装置
CN106055602A (zh) * 2016-05-24 2016-10-26 腾讯科技(深圳)有限公司 文件验证方法及装置
US11188635B2 (en) 2016-05-24 2021-11-30 Tencent Technology (Shenzhen) Company Limited File authentication method and apparatus
CN107220527A (zh) * 2017-04-18 2017-09-29 努比亚技术有限公司 一种应用甄别方法及应用管理设备
CN108920909A (zh) * 2018-06-30 2018-11-30 平安科技(深圳)有限公司 仿冒移动应用程序判别方法及***
WO2020000752A1 (zh) * 2018-06-30 2020-01-02 平安科技(深圳)有限公司 仿冒移动应用程序的判别方法及***
CN108920909B (zh) * 2018-06-30 2022-04-15 平安科技(深圳)有限公司 仿冒移动应用程序判别方法及***
CN109726294A (zh) * 2018-12-04 2019-05-07 北京奇艺世纪科技有限公司 一种App实体对齐方法、装置及电子设备
CN112149101A (zh) * 2019-06-28 2020-12-29 北京智明星通科技股份有限公司 虚假游戏app识别方法及***
CN110704104A (zh) * 2019-10-14 2020-01-17 北京智游网安科技有限公司 一种应用仿冒检测方法、智能终端及存储介质
CN110704104B (zh) * 2019-10-14 2023-10-03 北京智游网安科技有限公司 一种应用仿冒检测方法、智能终端及存储介质

Also Published As

Publication number Publication date
CN103324697B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN103324697A (zh) 一种基于图标对比的android应用搜索山寨应用剔除方法
CN110598376B (zh) 基于区块链的版权认证方法、装置、设备及存储介质
KR101556599B1 (ko) 패턴 입력 장치 및 방법과 이를 이용한 기록 매체
CN104065715B (zh) 一种基于云平台的资源共享的方法及云平台
CN104361285B (zh) 移动设备应用程序的安全检测方法及装置
CN105024987B (zh) 一种web业务日志的监测方法和装置
CN104281794A (zh) 一种密码存储及验证的方法和装置
CN109376078A (zh) 移动应用的测试方法、终端设备及介质
CN108090351A (zh) 用于处理请求消息的方法和装置
CN109800575B (zh) 一种Android应用程序的安全检测方法
CN112671724B (zh) 一种终端安全检测分析方法、装置、设备及可读存储介质
US9378358B2 (en) Password management system
CN110493229A (zh) 业务请求处理方法、装置及***
CN104346550A (zh) 一种信息处理方法以及一种电子设备
CN106650454A (zh) 一种sql注入攻击检测方法和装置
CN104486306B (zh) 基于指静脉识别和云服务进行身份认证的方法
Buriro et al. SWIPEGAN: swiping data augmentation using generative adversarial networks for smartphone user authentication
JP6517468B2 (ja) 情報処理システム、情報処理装置、監視装置、監視方法、及び、プログラム
CN107786529A (zh) 网站的检测方法、装置及***
CN109214179A (zh) 一种程序模块安全检测方法及装置
CN109002441A (zh) 应用名称相似度的确定方法、异常应用检测方法及***
CN114417425B (zh) 一种基于OAuth的文档安全预览及溯源方法
CN109413048A (zh) 基于文件型蜜罐检测勒索软件方法、电子设备及程序产品
Pandurang et al. A mapping-based podel for preventing Cross site scripting and sql injection attacks on web application and its impact analysis
US8843759B2 (en) Methods, systems, and computer program products for media-based authentication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant