一种移动终端rom包的安全打包方法、系统及移动终端的制作方法_2

文档序号:9349786阅读:来源:国知局
最后,解析升级文件:智能终端为了便于烧录,与升级,这里采用统一的封装包,并 且这个封装包文件的解析,必须相应的修改相应的智能终端升级包,通过修改升级包可以 定向的解析特点的升级包,可以起到相应的安全作用。
[0038] 实施例一
[0039] 本实施例提供一种移动终端ROM包的安全打包方法,所述移动终端配置有操作系 统,所述操作系统包括Android操作系统,或IOS操作系统。请参阅图1,显示为移动终端 ROM包的安全打包方法流程示意图。如图1所示,所述移动终端ROM包的安全打包方法包括 以下步骤:
[0040] S1,编译源于所述移动终端中操作系统的源代码文件以生成不同的镜像文件。在 本实施例中,操作系统自带编译源代码的编译文件,一般都采用开源的GUN makefile文件 将源代码编译成字节码很小的镜像文件,例如:
[0041 ] boot, img, system, img, cache, img, persist, img, userdate. img, recovery, img ^ 镜像文件。在本步骤中,在生成镜像文件的同时还根据编译makefile文件在根目录下生成 不同的Out目录。
[0042] S2,将不同的镜像文件,即待烧录的镜像文件收集在操作系统与所述镜像文件对 应的Out目录下。在本实施例中,在收集待烧录的镜像文件的同时,所述步骤S2还包括统计 不同的镜像文件的文件大小,及所述操作系统占用空间大小。例如,镜像文件boot, img的 文件大小为25698kb,镜像文件system, img的文件大小为1308495kb,镜像文件recovery. img的文件大小为27310kb,镜像文件userdate. img的文件大小为136503kb等。
[0043] S3,采用所述操作系统中存储的配置文件对所述镜像文件进行格式空间编辑以产 生镜像文件格式文件表。在本实施例中,所述配置文件时指config. ini,其里面指明了相应 的代码属性,且所述配置文件是纯文本文件,是可编辑的文件。所述镜像文件格式文件表的 各项内容包括所述操作系统的版本信息、源代码编译发布日期、多个镜像文件、与每个镜像 文件对应的镜像包文件存储位置、每个镜像包文件的哈希特征码等等。例如,表1所示的镜 像文件格式文件表。
[0044] 表1 :镜像文件格式文件表
[0045]
[0046] S4,将所述镜像文件打包成特定格式的镜像包文件,并对镜像包文件进行哈希计 算以产生哈希特征码。在本实施例中,所述特定格式是指*. tar或者*. zip文件。且在本 实施例中HASH计算是指调用操作系统内部的HASH算法,例如,Android java中采用预存 的object. getHashCode方法对所述镜像包文件进行哈希计算。生成相应的镜像包文件的 HASH特征码是,当镜像包文件被改动的时候,能够发现镜像文件是否被替换,可以起到相应 的安全作用。
[0047] S5,解析所述配置文件以获取镜像文件格式文件表的各项内容,并提取其中的哈 希特征码。在本步骤中,镜像包文件在需要升级的时候(下载的升级镜像包和待升级镜像 包,在升级的时候会进行特征的,比对的过程,不同的智能系统不同,有的更加版本号,有的 根据用户名是否相同,如果发现新的系统镜像文件版本号大于原来旧的就会启动下载,否 则弹出消息不升级),接收镜像包文件,并解析镜像包文件中配置文件。在本实施例中,即解 析config. ini文件,解析后读取不同镜像文件的地址位置,镜像文件下载地址,获取HASH 特征码。
[0048] S6,验证提取出的哈希特征码是否与计算得到的哈希特征码一致,若是,则继续下 一步骤,即S7 ;若否,则表示所述镜像包文件被修改,并执行步骤S8,即输出错误通知以提 示用户镜像包文件升级出现问题。源代码编译后生成的镜像文件,调用Hash算法计算后是 会生成一个唯一的32位/64位的哈希特征码,比如d8288bd7ex8uuyx99e,,这些hash特征 码是经过生成的镜像文件生成的,不会改变的,目的是防止镜像文件被拿到别的地方,或者 被不良客户修改,加入病毒等等。一旦镜像文件加入了一点点修改,变化重新进行hash计 算的时候,就不是原来的数字,比如d8288bd7ex8uuyx99e,因此Hash算法就保证了镜像文 件的纯正。所以只要验证校验的Hash算法就知道是否修改了原来镜像文件。
[0049] S7,解析所述镜像包文件中的镜像文件,查找与之对应的升级方式自动升级。例 如,解析system, img文件。本步骤中的解析是指与原来待升级系统比对,看那些地方修改 过了,就升级,系统修改了哪些地方。步骤S7还包括在所述移动终端的内存中开辟用于加 载引导程序的加载区,例如,在内存中开辟相应的空间进行加载系统程序boot引导程序, 系统system程序,并为相应的镜像文件分配空间,加载其运行时数据区方法区以及产生的 中间临时文件。在解析所述镜像文件后,根据与镜像文件相对应的升级方式自动升级。升 级方式包括fastboot方式,recovery方式,或downloader方式。本实施例中,操作系统会 选择合适的方式方便用户自动升级,这里通过修改系统程序自动化操作页面,以方便用户 操作。系统升级成功后,提示用户重新启动机器。
[0050] 本实施例所述的移动终端ROM包的安全打包方法可以应用到各种智能移动终端, 具有通用性,并通过对生成的镜像包加入哈希计算防止非法替换相应的系统镜像包,具有 一定的安全性,并且可使用户不需相应的升级操作,自动升级。
[0051] 实施例二
[0052] 本实施例提供一种移动终端ROM包的安全打包系统10,所述移动终端配置有操作 系统,所述操作系统包括Android操作系统,或IOS操作系统。请参阅图2,显示为移动终 端ROM包的安全打包系统的原理结构示意图。如图2所示,所述移动终端ROM包的安全打 包系统10包括:编译模块101、镜像文件处理模块102、编辑模块103、计算模块104、第一解 析模块105、验证模块106、第二解析模块107、及提示模块108。
[0053] 所述编译模块101用于编译源于所述移动终端中操作系统的源代码文件以生成 不同的镜像文件。在本实施例中,操作系统自带编译源代码的编译文件,一般都采用开源的 GUN makefile文件将源代码编译成字节码很小的镜像文件,例如:
[0054] boot. img? system. img? cache. img? persist. img? userdate. img? recovery, img等镜像文件。在本实施中,所述编译模块101在生成镜像文件的同时还用于根据编译 makefile文件在根目录下生成不同的Out目录。
[0055] 与所述编译模块101连接的镜像文件处理模块102用于将不同的镜像文件,即待 烧录的镜像文件收集在操作系统与所述镜像文件对应的Out目录下。在本实施例中,在收 集待烧录的镜像文件的同时,所述镜像文件处理模块102还用于统计不同的镜像文件的文 件大小,及所述操作系统占用空间大小。例如,镜像文件boot, img的文件大小为25698kb, 镜像文件system, img的文件大小为1308495kb,镜像文件recovery, img的文件大小为 27310kb,镜像文件userdate. img的文件大小为136503kb等。
[0056] 与所述编译模块101和镜像文件处理模块102连接的编辑模块103用于采用所述 操作系统中存储的配置文件对所述镜像文件进行格式空间编辑以产生镜像文件格式文件 表。在本实施例中,所述配置文件时指config. ini,其里面指明了相应的代码属性,且所述 配置文件是纯文本文件,是可编辑的文件。所述镜像文件格式文件表的各项内容包括所述 操作系统的版本信息、源代码编译发布日期、多个镜像文件、与每个镜像文件对应的镜像包 文件存储位置、每个镜像包文件的哈希特征码等等。例如,表1所示的镜像文件格式文件 表。
[0057] 表1 :镜像文件格式文件表
[0058]
[0059] 与所述编译模块101、镜像文件处理模块102、编辑模块103连接的所述计算模 块104用于将所述镜像文件打包成特定格式的镜像包文件,并对镜像包文件进行哈希计算 以产生哈希特征码。在本实施例中,所述特定格式是指*. tar或者*. zip文件。且在本 实施例中HASH计算是指调用操作系统内部的HASH算法,例如,Android java中采用预存 的object. getHashCode方法对所述镜像包文件进行哈希计算。生成相应的镜像包文件的 HASH特征码是,当镜像包文件被改动的时候,能够发现
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1