一种嵌套式的capsule文件用以BIOS更新的方法与流程

文档序号:16535992发布日期:2019-01-08 19:54阅读:1094来源:国知局
一种嵌套式的capsule文件用以BIOS更新的方法与流程

本发明涉及计算机硬件领域,特别涉及一种嵌套式的capsule文件用以bios更新的方法。



背景技术:

现有平台使用capsule方式通过smm更新bios,其安全性相对legacy的binary块写入有革命性的提高,但其弹性相对不足,capsule刷入方式只能以一或多个连续区域的数据做写入,若要再次改写这些区域,必须退出应用后再次执行,不能如binary块写入方式可以在原写入的区域再不退出应用的环境中改写。



技术实现要素:

为解决现有技术中存在的缺陷,本发明的目的是设计一种嵌套式的capsule文件用以bios更新的方法,在不破坏安全性的基础上增加了弹性写入方式。

本发明公开了一种嵌套式的capsule文件用以bios更新的方法,包括以下步骤:

步骤1:对多个capsule文件进行嵌套整合;

步骤2:刷入bios时,smi对capsule文件解析,若发现capsule文件为格式嵌套,则再进一步解析,全部解析完后,将解析得到的文件汇总暂存到统一内存区域,并统一刷入biosrom中。

对多个capsule文件进行整合,其整合方式使用同类型或不同类型的安全格式。

多个capsule文件嵌套层数可以为一层或多层。

capsule文件解析后,可以做区域的重叠、嵌入。

有益效果:本发明与现有技术相比,本发明通过嵌套式的capsule文件格式和刷写方法,大大提高了文件的破解难度,增加了rom修改区域的弹性,减少了rom刷写重复区域的写入次数对应的减少了rom刷写的时间。

附图说明

图1是本发明的流程图;

图2是本发明的capsule文件整合示意图;

图3是本发明与原由单capsule文件的映射关系图;

图4是capsule文件解析后,做区域的重叠、嵌入示意图。

具体实施方式

下面结合附图和实施例进一步阐述本发明。

使用某种安全格式的bioscapsule文件,优选的,可以基于微软pe文件格式的capsule文件格式以达到文件格式的通用型,对多个capsule文件进行整合,其整合方式也可以使用同类型的安全格式。简言之,就是多个小capsule文件的聚合,再生产一个大的capsule文件,这些capsule文件的安全格式可以相同,也可以不相同,嵌套层数可以为一层或是有限的多层,具体如图2所示。

在刷入bios时,smi先解析大capsule文件,发现是格式嵌套,再解析各个小capsule,全部解析完后,再统一刷入biosrom中,与原由单capsule文件的映射关系如图3所示。

原capsule文件只能映射biosrom中多个连续区域,而现在的capsule1、capsule2在解析后,可以做区域的重叠、嵌入,具体如图4所示,capsule文件,解析出capsule文件1~capsule文件6,其中capsule文件1、capsule文件2刷写对应位置,可以在rom里面完全相同,capsule文件3、capsule文件4可以有部分重叠,便于理解,把capsule文件4的位置往下挪了点,capsule文件5、capsule文件6属于嵌入,capsule文件6是在capsule文件5的区域内的。在确保安全可靠的环境下,大大提高了更新数据的便利性。

由于是先把各个capsule先解开后合并到内存,所以可以检查出需要重叠和嵌入的区域,一遍从内存中一次写入biosrom,而不用像binary块写入或者多个capsule的分开写入那样,先把旧数据写入,再擦除后写入新数据。

capsule文件生成:以各个嵌套均用pe文件格式为例,具体包括以下步骤:

步骤1:生成多个pe格式的bioscapsule文件;

步骤2:将步骤1中的capsule文件二次打包,做成一个pe格式的capsule文件。

若有重叠和嵌入的数据,那么capsule文件的先后整合顺序非常重要,以图4为例,先刷capsule文件1,再刷capsule文件2,那么保留的是capsule文件2。先刷capsule文件3,再刷capsule文件4,那么重叠部分是capsule文件4的数据。先刷capsule文件5再刷capsule文件6,那么capsule文件6是存在于capsule文件5之间的,先刷capsule文件6再刷capsule文件5,那么capsule文件5就被覆盖掉了。

bios解开capsule文件刷写rom,具体包括以下步骤:

步骤1、读入一个pe格式的capsule文件;

步骤2、biossmi解为原多个pe格式的bioscapsule文件;

步骤3、继续解开各个capsule文件,将这些文件汇总暂存到统一内存区域;

步骤4、bios检查各最终映射的写入区域是否有重叠和嵌入,将重叠部分覆盖汇总完成;

步骤5:一次刷入对应rom块。

重叠、嵌套,是在capsule文件解压到内存的时候完成的,并没有真正刷入bios芯片。当capsule文件1~6都解压到内存里面,在内存中完成了模拟的覆盖和嵌入工作以后,才一次性的刷入bios芯片。



技术特征:

技术总结
本发明公开了一种嵌套式的capsule文件用以BIOS更新的方法,包括以下步骤:步骤1:对多个capsule文件进行嵌套整合;步骤2:刷入BIOS时,SMI对capsule文件解析,若发现capsule文件为格式嵌套,则再进一步解析,全部解析完后,将解析得到的文件汇总暂存到统一内存区域,并统一刷入BIOS ROM中。

技术研发人员:郁凌;谢乾;匡荣建;唐剑
受保护的技术使用者:南京百敖软件有限公司;江苏卓易信息科技股份有限公司;昆山百敖电子科技有限公司
技术研发日:2018.06.22
技术公布日:2019.01.08
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1