如何魔改AMI BIOS

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