迅维网

标题: UEFI BIOS的结构与分离合成 [打印本页]

作者: 云凡Love星影    时间: 2017-7-22 11:23
标题: UEFI BIOS的结构与分离合成
                               UEFI BIOS的结构与分离合成之前没认证发帖子有图片限制,发过一个文档在实地学员群里,今天发到论坛里,还请大神们多多赐教

UEFI BIOS 结构
Desc:文件描述头,即目录
Gbe FW:网卡固件,包含网卡启动程序、MAC地址等(有的BIOS没有)
Inter ME FW:Inter管理引擎,即ME程序
BIOS:BIOS区域
Platform:平台数据,主要指PCH的绑定值之类的程序
部分BIOS还会增加EC程序
UEFI BIOS结构查看
用UEFI Tool软件查看[attach]1541572[/attach]
用这个软件打开BIOS文件查看该BIOS的结构(以华硕的一款BIOS为例)
[attach]1541573[/attach]
[attach]1541574[/attach]
修改BIOS
用到的软件WinHex[attach]1541575[/attach]
用软件打开BIOS文件
[attach]1541576[/attach]
打开后里边都是BIOS十六进制数据
Desc:文件描述头部分,通常以5AA5F0开头
[attach]1541577[/attach]
Inter ME FW:Inter管理引擎,即ME程序,通常以202080开头,从6X后以244650开头
ME分个人版(3MB以下)和企业版(3MB以上),二者不能混用
BIOShonixInsyde厂家以D95493开头,AMI的以78E58C开头,AMD的以781600开头

WinHex界面
[attach]1541578[/attach]
WinHex快捷键
Ctrl+A 全选 Ctrl+C 复制  Ctrl+V 粘贴  Ctrl+B覆盖/替换
Ctrl+1 选择起始位置  Ctrl+2选择结束位置Ctrl+Z撤销
Ctrl+Alt+A搜索16进制F3搜索下一个 Ctrl+Shift+C复制16进制
Ctrl+F搜索文本内容  Alt+G跳转到指定位置
             常用文件大小换算
1FFF0=131056=128k
3FFF0=262128=256k
7FFF0=524272=512k
FFFF0=1048560=1M
1FFFF0=2097136=2M
3FFFF0=4194288=4M
7FFFF0=8388592=8M
FFFFF0=16777200=16M
1FFFFF0=33554416=32M
         修改BIOS中的ME(华硕为例)
注:网上个人用户发布的BIOS文件有的是上电之后备份出来的,即ME上过电,这会导致刷BIOS后机器出现各种奇怪的故障(开机特慢、挡LOGO、开机掉电、关机关不死、温度异常、风扇狂转、不定时掉电、不出集显供电、开机不显示等),我们需要下载原始ME文件来进行替换

1.    UEFI Tool打开BIOS查看ME版本
[attach]1541579[/attach]
2. 官网下载原始ME文件或者从官方BIOS分离提取[attach]1541580[/attach]
3.    WinHex打开原始ME文件
[attach]1541581[/attach]
4.打开备份的BIOS文件[attach]1541582[/attach]
[attach]1541583[/attach]
5. 在原始ME文件全选→单击鼠标右键→编辑→复制选块→正常
[attach]1541584[/attach]

[attach]1541585[/attach]
6.在备份的BIOS文件搜索16进制数值202080
[attach]1541586[/attach]

[attach]1541587[/attach]
7.点击20,单击鼠标右键→编辑→剪贴板数据→写入,完成BIOS修改ME
[attach]1541588[/attach]

[attach]1541589[/attach]

[attach]1541590[/attach]

[attach]1541591[/attach]
                   BIOS的分离合成(华硕为例)
1.     将原机备份BIOS文件(下简称原机)、原机备份BIOS文件副本(下简称副本)、官方下载BIOS(下简称官方)都用WinHex打开
[attach]1541592[/attach]
2. 将官方文件全选→单击鼠标右键→编辑→复制选块→正常[attach]1541594[/attach]

[attach]1541595[/attach]
3.UEFI Tool查看备份BIOS文件中的主BIOS所在位置
[attach]1541596[/attach]   
4.切换到备份BIOS,Alt+G跳转到200000位置,然后按Crtl+B写入或者点击20,单击鼠标右键→编辑→剪贴板数据→写入
[attach]1541597[/attach]

[attach]1541598[/attach]

[attach]1541599[/attach]

[attach]1541600[/attach]
5.   打开备份副本文件,从中提取DMI信息,按Ctrl+F搜索文本内容Usbsupport,在搜索到的位置往下数8行,在4E56开始,在4E位置按Alt+1设定起始位置,再按Alt+G从当前位置往下跳到245F(9331),再按Alt+2设定为结束块,然后复制选中的内容
[attach]1541601[/attach]

[attach]1541602[/attach]

[attach]1541603[/attach]

[attach]1541604[/attach]

[attach]1541605[/attach]

[attach]1541606[/attach]

[attach]1541607[/attach]
6.      切换到修改过主BIOS的文件,同样按Ctrl+F搜索文本内容Usbsupport,在搜索到的位置往下数8行,在4E56,在4E位置写入刚才从副本中提取出来的DMI数据块
[attach]1541608[/attach]

[attach]1541609[/attach]

[attach]1541610[/attach]

[attach]1541611[/attach]

[attach]1541612[/attach]
从官方下载的BIOS中提取主BIOS程序和EC程序
提取官方BIOS
1.     原材料:备份的主BIOS程序和EC程序、官网下载的BIOS
[attach]1541613[/attach]
2.     运行官方的BIOS,等待运行报错,报错后不要关闭报错对话框
[attach]1541614[/attach]
3.     打开任务管理器,在进程里边找InsydeFlash.exe*32(这个BIOS的厂商是Insyde)然后单击鼠标右键打开文件位置,在打开的文件夹里有个isflash.bin文件,这个就是官方的BIOS,我们把这个文件复制到开始用到到的文件夹,可以看到这个BIOS文件比备份的主BIOS文件要大,一般包含了完整的主BIOSEC程序
[attach]1541615[/attach]

[attach]1541616[/attach]

[attach]1541617[/attach]

[attach]1541618[/attach]
提取主BIOS数据文件
1.搜索主BIOS文件位置,用WinHex打开官方提取出来的BIOS文件

搜索16进制5AA5F0搜索结果16进制数据栏有5AA5F0并且文本栏有FLASH_BIOSIMG,这样就找到了UEFIBIOS文件数据头
[attach]1541619[/attach]

[attach]1541620[/attach]
2.开始提取主BIOS数据,在刚搜索到的5AA5F0位向上一行的左边FF设置为起始位置,再按Alt+G从当前位置跳转7FFFFF(8MB)空间,在跳转到的位置设置为结束位置,然后按Ctrl+Shift+N保存选中的主BIOS数据,命名为BIOS,后缀名为bin
[attach]1541621[/attach]

[attach]1541622[/attach]

[attach]1541623[/attach]

[attach]1541624[/attach]

[attach]1541625[/attach]
3.将我们提取出来的主BIOS文件与备份的BIOS文件用WinHex打开对比关键字符、文件大小,如果一致就可以直接使用(官方直接提取出来的BIOS文件ME没有上过电)
提取主EC数据文件

1.     搜索主BIOS文件位置,用WinHex打开官方提取出来的BIOS,单字节搜索文本IMG,按F3搜索下一个直到文本栏有EC_IMG,这样就找到EC文件数据头
[attach]1541626[/attach]

[attach]1541627[/attach]

[attach]1541628[/attach]
2.     在搜索到的位置向下一行左端第一个数据块设置为起始位置,再按Alt+G跳转相对于当前位置1FFFF(128KB)空间,在跳转到的位置设置为结束位置,然后按Ctrl+Shift+N保存EC数据文件,命名EC,后缀名ROM
[attach]1541629[/attach]

[attach]1541630[/attach]

[attach]1541631[/attach]

[attach]1541632[/attach]
3.     将我们提取出来的EC文件与备份的EC文件用WinHex打开对比关键字符、文件大小,如果一致就可以直接使用
注:从官网下载的BIOS一般是Windows可执行文件,有的需要运行后从进程去找我们需要的BIOS文件,有的直接解压出来就有我们需要的BIOS文件




作者: kang1985    时间: 2017-7-26 12:23
非常好的资料。。。。。。。。。。。。。。。。。。。。。。。。。
作者: 孙中孝    时间: 2017-8-8 19:13
虽然看不懂,但是感谢楼主的资料,先收藏了,非常好的资料
作者: 魔鬼的酒    时间: 2017-8-10 15:41
好资料 谢楼主分享!!!!!!!!!!!!!!
作者: 李怀利    时间: 2017-8-10 17:11

学习学习  大神啊  。                        
作者: 风景    时间: 2017-8-11 11:32
虽然看不懂,但是感谢楼主的资料,先收藏了,非常好的资料
作者: 喝自来水的牛    时间: 2017-8-11 11:51
NB 学习了
作者: yuchunhui712    时间: 2017-8-11 13:38
那里来的资料  456788888888888888888888888888
作者: 张家瑞    时间: 2017-8-12 16:40
支持支持!!!!!!!!!!!!!!!!!!!!
作者: 云凡Love星影    时间: 2017-8-21 11:12
liang65767355 发表于 2017-7-26 12:11
这个真心不
感谢楼主错 盯了
顶你个肺

{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}{:4_117:}
作者: 云凡Love星影    时间: 2017-8-21 11:13
kang1985 发表于 2017-7-26 12:23
非常好的资料。。。。。。。。。。。。。。。。。。。。。。。。。

不知怎么图片都没上去   明明有详细过程图的




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4