Apk文件包的校验方法和装置的制造方法

文档序号:9238143阅读:471来源:国知局
Apk文件包的校验方法和装置的制造方法
【技术领域】
[0001]本发明涉及安全技术领域,具体而言,涉及一种APK文件包的校验方法和装置。
【背景技术】
[0002]作为安卓系统的安装程序APK文件包,主要由包括存放应用程序资源的Assets,应用引用的库文件Lib、签名文件Meta-1nf、资源文件Res、配置文件AndroidManifest.xml、程序编译后的代码Classes, dex和编译后的二进制资源文件Resources, arse。
[0003]在对APK文件包进行校验过程中,现有技术中所采用的方式是基于APK文件包中的签名文件Meta-1nf进行校验,此种校验方式由于是利用签名文件对APK文件包进行整体校验,对于APK文件包被非法篡改,但是签名文件未改变的情况,仍然能够校验通过,导致校验的安全性降低。
[0004]针对现有技术中对APK文件包进行校验的安全性较低的技术问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]本发明实施例提供了一种APK文件包的校验方法和装置,以至少解决现有技术中对APK文件包进行校验的安全性较低的技术问题。
[0006]根据本发明实施例的一个方面,提供了一种APK文件包的校验方法。
[0007]根据本发明实施例的APK文件包的校验方法包括:获取待校验APK文件包的组成文件;读取所述组成文件的内容;将读取到的内容写入第一目标文件;计算所述第一目标文件的第一校验值;发送包括所述第一校验值的校验请求至发布所述待校验APK文件包的服务器;以及接收校验结果,其中,所述服务器在接收到所述校验请求的情况下,根据所述第一校验值和第二校验值对所述待校验APK文件包进行校验,并返回所述校验结果,所述第二校验值为所述服务器存储的目标APK文件包的校验值,所述待校验APK文件包和所述目标APK文件包具有相同的标识信息。
[0008]根据本发明实施例的另一方面,还提供了一种APK文件包的校验装置。
[0009]根据本发明实施例的APK文件包的校验装置包括:获取单元,用于获取待校验APK文件包的组成文件;读取单元,用于读取所述组成文件的内容;写入单元,用于将读取到的内容写入第一目标文件;计算单元,用于计算所述第一目标文件的第一校验值;发送单元,用于发送包括所述第一校验值的校验请求至发布所述待校验APK文件包的服务器;以及接收单元,用于接收校验结果,其中,所述服务器在接收到所述校验请求的情况下,根据所述第一校验值和第二校验值对所述待校验APK文件包进行校验,并返回所述校验结果,所述第二校验值为所述服务器存储的目标APK文件包的校验值,所述待校验APK文件包和所述目标APK文件包具有相同的标识信息。
[0010]在本发明实施例中,采用获取待校验APK文件包的组成文件;读取所述组成文件的内容;将读取到的内容写入第一目标文件;计算所述第一目标文件的第一校验值;发送包括所述第一校验值的校验请求至发布所述待校验APK文件包的服务器;以及接收校验结果,其中,所述服务器在接收到所述校验请求的情况下,根据所述第一校验值和第二校验值对所述待校验APK文件包进行校验,并返回所述校验结果,所述第二校验值为所述服务器存储的目标APK文件包的校验值,所述待校验APK文件包和所述目标APK文件包具有相同的标识信息。通过对APK文件包的组成文件进行读取,并基于读取到的内容所计算处校验值进行校验,实现了从APK文件包的结构入手,对其组成的内容进行分析,这样一旦APK文件包被非法篡改,即便签名文件未改变,仍然会造成计算出的校验值与服务器上所存储的未被篡改前的校验值不相同,能够准确校验值APK文件包不合法,避免了现有技术中基于APK文件包中的签名文件Meta-1nf进行校验容易导致校验的安全性降低的弊端,解决了现有技术中对APK文件包进行校验的安全性较低的技术问题,进而达到提高APK文件包校验准确度的效果。
【附图说明】
[0011]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012]图1是根据本发明实施例的APK文件包的校验方法所应用的硬件环境的示意图;
[0013]图2是根据本发明实施例的APK文件包的校验方法的流程图;
[0014]图3是根据本发明实施例的APK文件包的校验方法中APK文件包的组成示意图;
[0015]图4是根据本发明实施例的APK文件包的校验方法的校验原理图;
[0016]图5是根据本发明实施例的APK文件包的校验装置的示意图;以及
[0017]图6是实施本发明实施例的APK文件包校验方法的移动终端的示意图。
【具体实施方式】
[0018]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0019]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0020]实施例1
[0021]根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0022]根据本发明实施例,提供了一种APK文件包的校验方法。
[0023]可选地,在本实施例中,上述APK文件包的校验方法可以应用于如图1所示的移动终端102和服务器104所构成的硬件环境中。如图1所示,移动终端102通过网络与服务器104进行连接,上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,移动终端102可以是能够安装APK文件包程序的终端,具体可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。
[0024]图2是根据本发明实施例的APK文件包的校验方法的流程图,以下结合图2对本发明实施例所提供的APK文件包的校验方法做具体介绍,如图2所示,该APK文件包的校验方法主要包括如下步骤S202至步骤S212:
[0025]S202:获取待校验APK文件包的组成文件,图3是根据本发明实施例的APK文件包的校验方法中APK文件包的组成示意图,如图3所示,APK文件包的组成文件主要分成两部分,一是不允许修改的部分,一是允许出现差异的部分,也即是允许修改的部分,其中,不允许修改的部分是影响APK文件包安全的主要因素,这部分内容主要包括代码(包括应用引用的库文件Lib和程序编译后的代码Classes, dex)、资源(包括存放应用程序资源的Assets和资源文件Res)和配置(包括配置文件AndroidManifest.xml)。在移动终端102首次启动待校验APK文件包的情况下,对待校验APK文件包的组成文件进行获取。
[0026]S204:读取组成文件的内容。
[0027]S206:将读取到的内容写入第一目标文件,在本发明实施例中,第一目标文件可以是CAPK格式的文件。
[0028]S208:计算第一目标文件的第一校验值,其中,第一校验值可以是第一目标文件的MD5,具体计算方式可以采用现有技术中任一种计算MD5值的计算方式。
[0029]S210:发送包括第一校验值的校验请求至发布待校验APK文件包的服务器。
[0030]S212:接收校验结果,其中,服务器在接收到校验请求的情况下,根据第一校验值和第二校
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1