确定应用程序是否为正版应用程序的方法、装置及电子设备制造方法及图纸

技术编号:14741184 阅读:51 留言:0更新日期:2017-03-01 16:04
本发明专利技术实施例公开一种确定应用程序是否为正版应用程序的方法、装置及电子设备,能够方便地确定应用程序是否是正版。所述确定应用程序是否为正版应用程序的方法包括:获取待识别的应用程序的可执行文件;判断可执行文件中是否含有不存在对应主类的内部类;若可执行文件中存在任何一个内部类,没有该内部类对应主类的定义,则确定待识别的应用程序是非正版,否则,则确定待识别的应用程序是正版。本发明专利技术适用于需要确定应用程序是否是正版的场合。

【技术实现步骤摘要】

本专利技术涉及移动安全领域,尤其涉及一种确定应用程序是否为正版应用程序的方法、装置及电子设备
技术介绍
随着网络的普及,为满足用户不同需求的应用程序大量涌现,但随之出现的非正版应用程序却影响了应用程序市场秩序。为了能够识别出应用程序是否是正版,现有技术一般通过将要识别的应用程序与正版应用程序进行比对来判断,或者通过将要识别的应用程序的签名与正版应用程序的签名进行比对来判断,如果相同,则为正版,否则为非正版。但是现有技术中为了识别应用程序是否是正版,需得通过应用程序对应的正版应用程序来判断,比较不方便,比如当没有正版应用程序时就无法确定另一个应用程序是否是正版应用程序。
技术实现思路
有鉴于此,本专利技术实施例提供一种确定应用程序是否为正版应用程序的方法、装置及电子设备,能够方便地识别应用程序是否是正版。为达到上述目的,本专利技术的实施例采用如下技术方案:一方面,本专利技术实施例提供一种确定应用程序是否为正版应用程序的方法,包括:获取待识别的应用程序的可执行文件;判断所述可执行文件中是否含有不存在对应主类的内部类;若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。非正版应用程序的可执行文件的生成过程,通常是先将正版的可执行文件反编译为一种格式的文件,比如smali格式的文件,再将反编译后的文件打包成与反编译前的可执行文件格式相同的文件。在实现本专利技术的过程中,专利技术人发现在这个过程当中,因常会对原文件做一些优化,从而造成一些类名的丢失。本专利技术实施例提供的确定应用程序是否为正版应用程序的方法,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在或者说没有定义,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。另一方面,本专利技术实施例提供一种确定应用程序是否为正版应用程序的装置,包括:获取单元,用于获取待识别的应用程序的可执行文件;判断单元,用于判断所述获取单元获取到的可执行文件中是否含有不存在对应主类的内部类;确定单元,用于若所述判断单元确定所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。本专利技术实施例提供的确定应用程序是否为正版应用程序的装置,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。再一方面,本专利技术实施例提供一种电子设备,所述电子设备包括:壳体151、处理器152、存储器153、电路板154和电源电路155,其中,电路板154安置在壳体151围成的空间内部,处理器152和存储器153设置在电路板154上;电源电路155,用于为上述电子设备的各个电路或器件供电;存储器153用于存储可执行程序代码;处理器152通过读取存储器153中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:获取待识别的应用程序的可执行文件;判断所述可执行文件中是否含有不存在对应主类的内部类;若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。本专利技术实施例提供的电子设备,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术一种确定应用程序是否为正版应用程序的方法一实施例的流程示意图;图2为本专利技术一种确定应用程序是否为正版应用程序的方法另一实施例的部分流程示意图;图3为图1中S2一实施例的流程示意图;图4为图3中S20一实施例的流程示意图;图5为图4中S201一实施例的流程示意图;图6为图3中S21一实施例的流程示意图;图7为图6中S2100一实施例的流程示意图;图8为本专利技术一种确定应用程序是否为正版应用程序的装置一实施例的方框结构示意图;图9为图8中获取单元一实施例的方框结构示意图;图10为图8中判断单元一实施例的方框结构示意图;图11为图10中第一判断子单元一实施例的方框结构示意图;图12为图11中第一判断模块一实施例的方框结构示意图;图13为图10中第二判断子单元一实施例的方框结构示意图;图14为图13中对应主类名称获取模块一实施例的方框结构示意图;图15为本专利技术电子设备一个实施例的结构示意图。具体实施方式下面结合附图对本专利技术实施例一种确定应用程序是否为正版应用程序的方法及装置进行详细描述。应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。参看图1,本专利技术的实施例提供一种确定应用程序是否为正版应用程序的方法,包括:S1、获取待识别的应用程序的可执行文件;S2、判断所述可执行文件中是否含有不存在对应主类的内部类;本实施例中,举例来说,主类X存在内部类Y,可表示为X$Y;其中,X是Y的主类,Y是X的内部类。S3、若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。本实施例中,待识别的应用程序运行的系统环境可以是安卓系统,也可以是其它操作系统,本专利技术对此不作限定。非正版应用程序的可执行文件的生成过程,通常是先将正版的可执行文件反编译为一种格式的文件,比如smali格式的文件,再将反编译后的文件打包成与反编译前的可执行文件格式相同的文件。在实现本专利技术的过程中,专利技术人发现在这个过程当中,因常会对原文件做一些优化,从而造成一些类名的丢失。本专利技术实施例提供的确定应用程序是否为正版应用程序的方法,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执本文档来自技高网...
确定应用程序是否为正版应用程序的方法、装置及电子设备

【技术保护点】
一种确定应用程序是否为正版应用程序的方法,其特征在于,包括:获取待识别的应用程序的可执行文件;判断所述可执行文件中是否含有不存在对应主类的内部类;若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。

【技术特征摘要】
1.一种确定应用程序是否为正版应用程序的方法,其特征在于,包括:获取待识别的应用程序的可执行文件;判断所述可执行文件中是否含有不存在对应主类的内部类;若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。2.根据权利要求1所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述应用程序是运行于安卓操作系统的应用程序;其中,所述获取待识别的应用程序的可执行文件,包括:获取待识别的应用程序中的可执行文件dex文件。3.根据权利要求2所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述获取待识别的应用程序中的可执行文件dex文件,包括:获取待识别的应用程序的apk格式的文件;通过对所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。4.根据权利要求1至3任一项所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述可执行文件中是否含有不存在对应主类的内部类,包括:判断所述可执行文件中是否存在内部类;若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在;若所述可执行文件中存在的各个内部类中存在任何一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。5.根据权利要求4所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述可执行文件中是否存在内部类,包括:从所述可执行文件中提取所述可执行文件中的类的名称列表;判断所述类的名称列表中是否存在内部类的名称,若存在,则确定所述可
\t执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。6.根据权利要求5所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述类的名称列表中是否存在内部类的名称,包括:判断所述类的名称列表中是否存在‘X$Y’格式的名称;其中,所述‘X’与所述‘Y’均表示任意一个或多个字符;若所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部...

【专利技术属性】
技术研发人员:舒鑫张楠
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

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

1