AMI BIOS
目前几乎全部的桌面端主板和部分移动端主板都是用AMI公司提供的BIOS,本期教程教大家如何修改BIOS。
本文不使用AMIBCP进行修改AMI BIOS,因为部分BIOS会报错,并且修改NVRAM区后还会再DEX段写入大量内容,所以采用UEFITool NE和WinHEX修改,用最少的工具去修改。
工具准备
工具(已打包)
工具作用
UEFITool NE:查看并分离BIOS文件
ifrextrator:将.sct文件转译成可读的状态
AfuWin64Cap:提取本机AMI BIOS
SZ790AD4:华硕Z790吹雪D4 BIOS给你们练手用的
下载:点击下载-提取码1111
开始
BIOS提取
提取BIOS:打开AfuWin64Cap点击行程,点击存储获得文件afuwin.rom。若提示46 - Error: Problem getting flash information请使用备用AMIAptionAFU_V3.01进行提取(文件内已写明使用教程),若三个AFU均失败说明大概率此BIOS有读写保护或者压根不是AMI BIOS而是系微公司的BIOS
文件分离1
文件分离2
分离文件:打开UEFITool NE 将文件afuwin.rom拖入UEFITool NE打开,Ctrl+F打开搜索栏,点击Text,输入PROCHOT LOCK搜索,双击下方搜索结果跳转。
对PE32 image section鼠标右键选择Extract as is...获得文件Section_PE32_image_Setup.sct(注意文件名,若文件名不对则修改为此文件名)。
转译文件
转译文件:将上一步得到的文件放入ifrextractor文件夹并以管理员身份运行里面的start.bat得到一份.txt文件,打开此文件搜索你想改的项目。(以PROCHOT LOCK为例)。无法转译请看最下方更新记录v1.1
查找信息
查找信息:如图所见即为PROCHOT LOCK的信息,记住VarStoreld,VarOffset,OneOfOption Option的内容。
如Varstoreld为0x1,偏移量VarOffset为0x7E,填充值OneOfOption Option里面则是Disabled(禁用)=0,Enabled(启用)=1 Default,说明如果我写入0就是禁用PROCHOT LOCK,写入1就是启用PROCHOT LOCK,默认值为1。想要关闭PROCHOT LOCK应当将1改为0
回到txt文件开头直接搜索Varstoreld:0x1(你的Varstoreld值是多少你就填多少,不要照抄这只是个例子)
搜索Varstoreld
可以看到0x1对应的项目为CpuSetup(这个就像是目录),GUID为B08F97FF-E6E8-4193-A997-5E9E9B0ADB32。
查看Base和Header size
回到UEFITool按照如图所示的路径查找,Text和GUID均与前文查到一致的文件,点击一下查看右侧信息
Base(基地址)=1000E98h
Header size(表头大小)=14h
(这里的h不是一个值,而是表示前面的数值是16进制HEX,计算时忽略h)
计算地址
计算地址
使用Windows自带的计算器-程序员-HEX
Base+Header size+VarOffset=16进制地址。
如图PROCHOT LOCK的设置地址在1000F2A
查找地址
搜索地址
打开WinHEX将afuwin.rom拖入打开ALT+G输入地址
注意括号内为Bytes(16进制),若为10进制则关闭搜索栏点一下WinHEX左侧offset下面那一栏即可。
修改数值
修改数值
可以看到成功定位到了1000F2A,其值为01,根据前文的OneOfOption Option修改为00即可关闭PROCHOT LOCK,修改后保存即可。
刷入BIOS
推荐使用FPT或者编程器刷入
另外免U刷BIOS也可强制刷入,其原理是依赖主板内嵌的单片机输入。
华硕的FLBK可以无条件刷入,变砖也可救回,其他家的没试过。
更新记录
V1.1
被压缩的section
若ifrextrator无法解析请检查PE32 image section文件在UEFITool的路径上是否有Compressed section,有则说明该文件被压缩,选择Extract body uncompressed...并重命名即可。
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com