一种系统启动文件的校验及编译方法技术方案

技术编号:15541337 阅读:75 留言:0更新日期:2017-06-05 10:47
本发明专利技术公开了一种系统启动文件的校验方法。其中,所述方法包括:从系统固件分区获取系统启动文件和映射表;从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据;根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据;判断第一校验数据为第一类型还是第二类型;若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误;若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。通过上述方式,能够减少系统启动文件的检验时间,提高工作效率。

System startup file checking and compiling method

The invention discloses a method for checking a startup file of a system. Among them, the method comprises: acquiring system startup files and the mapping table from the system firmware partition; reads the first check data from the mapping table and the first check data related with address data; according to the addressing data from the system startup file reads corresponding to the first check number according to the segmented data; the first check data for the first type of judgment or second types; if the first type, then determine whether to repeat the arrangement of the first segment data check data, if not the first repeat array calibration data, the existence of security errors, the system startup file; if second types, judging by segmented data check algorithm obtained second check data and first check data is consistent, if with the first check data is not the same, there are security errors, system startup files. By using the method, the test time of the startup files of the system can be reduced, and the work efficiency can be improved.

【技术实现步骤摘要】
一种系统启动文件的校验及编译方法
本专利技术涉及计算机
,特别是涉及一种系统启动文件的校验及编译方法。
技术介绍
随着电子产品的日渐成熟与普及,越来越多人开始关注电子产品的系统软件,尤其是手机产品。为了防止手机固件被修改或破坏,目前Android系统通过对系统固件文件进行运算生成一个校验值,并将该校验值附加到系统固件文件的末尾,在系统启动时,通过读取系统固件分区,得到系统固件文件及检验值做进一步验证。然而,系统固件文件的长度肯定要小于系统固件分区的长度,为了保持系统固件文件与系统固件分区的长度一致,需要在系统固件分区存储大量填充数据。这些数据增加了系统固件检验的时间,增加了工作量。
技术实现思路
本专利技术主要解决的技术问题是提供一种系统启动文件的校验及编译方法,能够减少系统启动文件的检验时间,提高工作效率。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种系统启动文件的校验方法,方法包括:从系统固件分区获取系统启动文件和映射表;从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据;根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据;判断第一校验数据为第一类型还是第二类型;若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误;若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。其中,寻址数据包括分段数据对应的起始地址和数据长度。其中,映射表中设置有与第一校验数据相关联的数据类型标识,或者第一类型的第一校验数据和第二类型的第一校验数据分别存储于不同的映射表中;判断第一校验数据为第一类型还是第二类型的步骤包括:根据数据类型标识或第一校验数据所来源的映射表来判断第一校验数据为第一类型还是第二类型。其中,第一类型的第一校验数据和第二类型的第一校验数据分别连续存储,并且将第一类型的第一校验数据设置成先于第二类型的第一校验数据被读取到。其中,校验算法为HASH算法。为解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种系统启动文件的编译方法,方法包括:获取系统启动文件;判断系统启动文件中是否包含由字节或字节组合重复排列所形成的第一分段数据;若存在第一分段数据,则将字节或字节组合作为校验数据与第一分段数据的寻址数据进行关联并存储到映射表中;确定第一分段数据以外的第二分段数据;将第二分段数据经校验算法获得的校验数据与第二分段数据的寻址数据进行关联并存储到映射表中;将映射表连同系统启动文件存储到预设的系统固件分区中。其中,寻址数据为第一分段数据或第二分段数据对应的起始地址和数据长度。其中,方法进一步包括:在利用校验数据相关联的数据类型标识将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别标记为第一类型和第二类型,或者将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别存储到不同的映射表中。其中,由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别连续存储,且由字节或字节组合所作为的校验数据设置成先于经校验算法获得的校验数据被读取到。其中,校验算法为HASH算法。本专利技术的有益效果是:通过从映射表中读取系统启动文件的第一校验数据,根据第一校验数据的类型将系统启动文件中对应的分段数据进行分类,在校验过程中,对不同类型的分段数据按不同的方法进行校验,进而减少系统启动文件的检验时间,提高工作效率。附图说明图1是本专利技术系统启动文件校验方法一实施例的流程示意图;图2是本专利技术系统启动文件校验方法另一实施例的流程示意图;图3是本专利技术系统启动文件编译方法一实施例的流程示意图;图4是本专利技术系统启动文件编译方法另一实施例的流程示意图;图5是本专利技术系统启动文件校验系统一实施例的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。图1是本专利技术系统启动文件校验方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本专利技术的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:S11:从系统固件分区获取系统启动文件和映射表。上述系统启动文件即为系统固件文件,是终端最基础、最低层工作的软件。对于独立可操作的终端产品来说,系统固件通常指操作系统,如:智能手机、路由器或MP4等;对于非独立的终端产品,系统固件为最低层,用于支持设备运行的程序代码,如:硬盘、光驱或U盘等。因此,在用户使用终端产品之前,系统固件已经由其它工具或软件写入终端产品对应的硬件系统中,当终端上电时,通过系统固件直接驱动和调用系统硬件,从而使终端正常工作。映射表用于存储具有映射关系的数据,在具体实施中,映射表用于存储与系统固件文件相关的一些数据信息。S12:从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据。在本实施例中,映射表用于存储与系统固件文件相关的第一校验数据及与第一校验数据相关联的寻址数据。其中,寻址数据包括数据的起始地址和数据长度。S13:根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据。由于寻址数据与第一校验数据相关联,因此系统可以根据该寻址数据从系统固件文件中读取对应于第一校验数据的分段数据。例如,寻址数据包括数据的起始地址:Address=0,以及数据长度:Length=4096,从系统固件分区的地址0开始,读取长度为4096的数据到缓冲区,作为与第一校验数据对应的分段数据。S14:判断第一校验数据为第一类型还是第二类型。在本实施例中,映射表中可设置与第一校验数据相关联的数据类型标识。此时,可以根据数据类型标识判断第一校验数据为第一类型还是第二类型。例如:Type=1时,第一校验数据为第一类型。当Type=0时,第一校验数据为第二类型。在其它实施例中,Type的值可以互换,即Type=0时,第一校验数据为第一类型;Type=1时,第一校验数据为第二类型,数据类型标识也可以为其它形式,在此不做限定。在另一实施例中,也可以将第一类型的第一校验数据和第二类型的第一校验数据分别存储于不同的映射表中,便于系统访问,并可以根据第一校验数据所来源的映射表来判断第一校验数据为第一类型还是第二类型。S15:若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误。根据上述步骤S14的判断结果,当第一校验数据为第一类型时,检测该分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,说明当前的系统固件被修改或者被破坏,提示用户做进一步的处理。若分段数据为第一校验数据的重复排列,说明该分段数据没有被修改或者破坏。例如,第一校验数据:V=0xA5本文档来自技高网...
一种系统启动文件的校验及编译方法

【技术保护点】
一种系统启动文件的校验方法,其特征在于,所述方法包括:从系统固件分区获取系统启动文件和映射表;从所述映射表中读取第一校验数据以及与所述第一校验数据相关联的寻址数据;根据所述寻址数据从所述系统启动文件中读取对应于所述第一校验数据的分段数据;判断所述第一校验数据为第一类型还是第二类型;若为第一类型,则判断所述分段数据是否为所述第一校验数据的重复排列,若不是所述第一校验数据的重复排列,则所述系统启动文件存在安全错误;若为第二类型,则判断所述分段数据经校验算法计算获得第二校验数据与所述第一校验数据是否一致,若与所述第一校验数据不一致,则所述系统启动文件存在安全错误。

【技术特征摘要】
1.一种系统启动文件的校验方法,其特征在于,所述方法包括:从系统固件分区获取系统启动文件和映射表;从所述映射表中读取第一校验数据以及与所述第一校验数据相关联的寻址数据;根据所述寻址数据从所述系统启动文件中读取对应于所述第一校验数据的分段数据;判断所述第一校验数据为第一类型还是第二类型;若为第一类型,则判断所述分段数据是否为所述第一校验数据的重复排列,若不是所述第一校验数据的重复排列,则所述系统启动文件存在安全错误;若为第二类型,则判断所述分段数据经校验算法计算获得第二校验数据与所述第一校验数据是否一致,若与所述第一校验数据不一致,则所述系统启动文件存在安全错误。2.根据权利要求1所述的方法,其特征在于,所述寻址数据包括所述分段数据对应的起始地址和数据长度。3.根据权利要求1所述的方法,其特征在于,所述映射表中设置有与所述第一校验数据相关联的数据类型标识,或者所述第一类型的第一校验数据和所述第二类型的第一校验数据分别存储于不同的映射表中;所述判断所述第一校验数据为第一类型还是第二类型的步骤包括:根据所述数据类型标识或所述第一校验数据所来源的映射表来判断所述第一校验数据为第一类型还是第二类型。4.根据权利要求1所述的方法,其特征在于,所述第一类型的第一校验数据和所述第二类型的第一校验数据分别连续存储,并且将所述第一类型的第一校验数据设置成先于所述第二类型的第一校验数据被读取到。5.根据...

【专利技术属性】
技术研发人员:刘香君邓铁军
申请(专利权)人:惠州TCL移动通信有限公司
类型:发明
国别省市:广东,44

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

1