基于安卓签名证书的APK文件唯一标识获取方法及终端技术

技术编号:39423292 阅读:9 留言:0更新日期:2023-11-19 16:11
本发明专利技术实施例提供一种基于安卓签名证书的APK文件唯一标识获取方法及终端,所述方法包括:根据APK文件的签名文件,确定所述APK文件包括第一签名;基于目标终端的系统版本和所述第一签名,采用模拟系统api获取所述APK文件的唯一标识;所述目标终端为所述APK文件将要安装的终端;所述模拟系统api不对第一签名文件进行校验。本发明专利技术实施例确定APK文件包括第一签名时,根据目标终端的系统版本和APK文件包括的其他签名,采用模拟系统api或其他方式可快速获取V1签名的哈希值或其他签名的哈希值作为APK文件的唯一标识,减少cpu和内存消耗,以减少性能损耗,提升计算效率,增强用户使用体验。用体验。用体验。

【技术实现步骤摘要】
基于安卓签名证书的APK文件唯一标识获取方法及终端


[0001]本专利技术涉及数据通信领域,尤其涉及一种基于安卓签名证书的APK文件唯一标识获取方法及终端。

技术介绍

[0002]随着智能终端的普及和发展,安卓终端在越来越多的人的生活中变得不可或缺,与此同时,孵化出了海量的安卓应用,而应用对应的APK文件在进行安装时安卓系统会进行签名校验,如果APK文件没有签名,则无法安装。因此,应用开发者通过对APK文件进行签名,以证明对APK文件的所有权和控制权,保证通过安卓系统的签名校验,正常安装该APK文件,同时能防止仿冒应用覆盖安装替换正版应用。
[0003]随着安卓系统的不断迭代,安卓签名从V1签名逐渐演进到了V2签名(安卓7.0引入),V3签名(安卓9.0引入)等版本,由于目前安卓终端用户机型分布跨度较大,应用开发者为了适配各个系统版本的安卓终端,会给APK文件同时进行V1,V2或者V3签名。
[0004]目前在安全等领域,基于安卓签名以及安卓终端系统对签名校验机制这些特点,为了加强监管,打击移动互联网恶意应用,安全厂商可能会选择通过获取应用签名证书的hash值作为应用开发者的唯一标识来对恶意应用的开发者进行溯源。
[0005]而传统计算APK文件签名证书的hash值是通过安卓系统api计算,这样的方式在计算未安装的只有V1签名证书的APK文件时,会带来的cpu和内存增加等性能瓶颈,造成较大的性能损耗,影响用户体验。

技术实现思路

[0006]本专利技术实施例提供了一种基于安卓签名证书的APK文件唯一标识获取方法及终端,当APK文件只包括第一签名时,采用模拟系统api获取APK文件的唯一标识,当APK文件包括其他签名时,通过签名类型和目标终端的系统版本,选择不同的方式获取APK文件的唯一标识,减少性能损耗,提升计算效率。
[0007]第一方面,本专利技术实施例提供了一种基于安卓签名证书的APK文件唯一标识获取方法,包括:
[0008]根据APK文件的签名文件,确定所述APK文件包括第一签名;
[0009]基于目标终端的系统版本和所述第一签名,采用模拟系统api获取所述APK文件的唯一标识;所述目标终端为所述APK文件将要安装的终端;所述模拟系统api不对第一签名文件进行校验。
[0010]第二方面,本专利技术实施例提供了一种基于安卓签名证书的APK文件唯一标识获取装置,包括:
[0011]第一签名确定模块,用于根据APK文件的签名文件,确定所述APK文件包括第一签名;
[0012]唯一标识获取模块,用于基于目标终端的系统版本和所述第一签名,采用模拟系
统api获取所述APK文件的唯一标识;所述目标终端为所述APK文件将要安装的终端;所述模拟系统api不对第一签名文件进行校验。
[0013]第三方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述第一个方面所述的方法步骤。
[0014]第四方面,本专利技术实施例提供一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的方法步骤。
[0015]本专利技术实施例提供的基于安卓签名证书的APK文件唯一标识获取方法及终端,具备以下技术效果:
[0016]本专利技术实施例通过确定APK文件包括第一签名时,在预设条件下,采用模拟系统api获取APK文件的唯一标识,并在APK文件还包括其他签名时,根据签名类型和目标终端的系统版本,选择不同的方式获取APK文件的唯一标识。应用上述方法,在APK文件进行安装时,可快速获取V1签名的哈希值或其他签名的哈希值作为APK文件的唯一标识,减少cpu和内存消耗,有效减少性能损耗,提升计算效率。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术实施例提供的一种基于安卓签名证书的APK文件唯一标识获取方法流程图;
[0019]图2为本专利技术实施例提供的一种第一签名确定流程图;
[0020]图3为本专利技术实施例提供的一种第二签名和/或第三签名确定流程图;
[0021]图4为本专利技术实施例提供的一种APK文件签名前后结构示意图;
[0022]图5为本专利技术实施例提供的一种基于安卓签名证书的APK文件唯一标识获取装置的结构示意图;
[0023]图6为本专利技术实施例提供的一种终端的框图。
具体实施方式
[0024]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。
[0026]在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不
能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0027]目前,APK文件在进行安装时,安卓系统会进行签名校验,如果的APK文件没有签名,则无法安装。因此,应用开发者会对APK文件进行签名,以证明对APK文件的所有权和控制权,保证通过安卓系统的签名校验,正常安装该APK文件。随着安卓系统的不断迭代,安卓签名有V1签名、V2签名、V3签名等版本,由于目前安卓终端用户机型分布跨度较大,应用开发者为了适配各个系统版本的安卓终端,会给APK文件同时进行V1签名,V2签名或者V3签名。
[0028]目前在安全等领域,基于安卓签名以及安卓终端系统对签名校验机制这些特点,为了加强监管,打击移动互联网恶意应用,安全厂商可能会选择通过获取应用签名证书的hash值作为应用开发者的唯一标识来对恶意应用的开发者进行溯源,而传统计算的APK文件签名证书的hash是直接通过安卓系统提供的api计算出来的,这样的方式在计算未安装的只有V1签名证书的APK文件时,会带来的cpu和内存增加等性能瓶颈,造成较大的性能损耗,影响用户体验。
[0029]针对上述问题,本专利技术提供了一种基于安卓签名证书的APK文件唯一标识获取方法及终端。下面,将结合附图及实施例对本专利技术实施例中的基于安卓签名证书的APK文件唯一标识获取方法的各个步骤进行更详细本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安卓签名证书的APK文件唯一标识获取方法,其特征在于,包括:根据APK文件的签名文件,确定所述APK文件包括第一签名;基于目标终端的系统版本和所述第一签名,采用模拟系统api获取所述APK文件的唯一标识;所述目标终端为所述APK文件将要安装的终端;所述模拟系统api不对第一签名文件进行校验。2.根据权利要求1所述方法,其特征在于,所述根据APK文件的签名文件,确定所述APK文件包括第一签名,包括:遍历所述APK文件的根目录,获取第一签名文件的信息;根据所述第一签名文件的信息,得到所述第一签名文件的偏移量;若根据所述偏移量定位到所述APK文件中的第一签名文件,则所述APK文件包括第一签名。3.根据权利要求2所述方法,其特征在于,所述根据APK文件的签名文件,确定所述APK文件包括第一签名之后,包括:根据所述APK文件的标准格式,定位所述APK文件的签名块;所述签名块包括第二签名子块和/或第三签名子块;若所述签名块的魔术校验通过,且所述第二签名子块和/或第三签名子块校验通过,则所述APK文件包括第二签名和/或第三签名。4.根据权利要求3所述方法,其特征在于,所述基于目标终端的系统版本和所述第一签名,采用模拟系统api获取所述APK文件的唯一标识,包括:当目标终端的系统版本和所述APK文件包括的签名满足预设条件时,则采用模拟系统api计算所述第一签名文件的哈希值;将所述哈希值作为所述APK文件的唯一标识;所述预设条件包括如下中的一种:所述目标终端的系统版本小于第一预设值;所述目标终端的系统版本大于或等于第一预设值且小于第二预设值以及所述APK文件不包括所述第二签名;所述目标终端的系统版本大于或等于第二预设值以及所述APK文件只包括所述第一签名。5.根据权利要求4所述方法,其特征在于,所述采用模拟系统api计算所述第一签名文件的哈希值,...

【专利技术属性】
技术研发人员:陈家林占才海董超潘宣辰关杰文
申请(专利权)人:武汉安天信息技术有限责任公司
类型:发明
国别省市:

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

1