笔记本AMI Aptio V BIOS通用解锁教程

  • 2020-02-11
  • 2,646
  • 6

本文翻译自:https://www.win-raid.com/t4386f16-OverPowered-TONGFANG-CyberPower-Machrevo-MACHENIKE-Unlocked-BIOS-Guide-W-Files.html
加入了本人自身的一些理解与思考,并补足了一些细节

这种修改的方法适用于多数采用AMI Aptio V的BIOS,有些BIOS的操作会比较麻烦,而有些则比较简单。但下述内容是修改Aptio V BIOS的普遍方法与想法。
本文较长,请耐心阅读。

原则上,以下内容是给“懂”的人看的,但考虑到各种因素,我尽量用小白的语言来描述整个过程。
如果你是一个“想要尝试”的萌新,请不要在还未拥有CH341A编程器的情况下贸然尝试,它能帮你逆天改命,强行救砖。
其实所有尝试的人都应该备上这些工具,它们并不贵,而且咱有万能的TB可以使。毕竟有备无患。

在这个例子中,我将用GJ5CN64这个模具的BIOS进行演示和说明
如果你的笔记本电脑是TongFang(同方)的模具,那你可以移步至
http://www.bswaterb.club/?p=175 进行快速修改

提前说明:
文章中用到了两种不同的UEFITOOL版本,分别是UEFITOOL以及UEFITOOL NE,后者只用来提取BIOS的PE32模块,前者既可以提取也可以替换PE32模块,
当我没特别提及采用哪种版本时,默认使用的是UEFITOOL 普通版本。

#正式开始吧!



1.在UEFITOOL NE版中打开你的BIOS文件,提取出你的AMITSE(PE32模块)的As-Is和Setup(PE32模块)的As-Is
(这里的As-Is指的是在UEFITOOL NE中右键中的 Exctarct As-Is… 所提取出的模块文件,拓展名为.SCT)

2.用Universal IFR Extractor分析你提取出的Setup PE32模块,这样可以将PE32模块“翻译”生成可读的、清晰的文本文件,方便我们接下来的操作
(Mudule Location选择上一步中提取出来的setupdata的stc文件,然后点Extract)

3.在文本编辑器中打开分析生成的IFR文档,复制如下图中高亮区域的Form Set ID代码。这串代码是BIOS中Main 菜单对应的Form Set ID,也能作为我们接下来对于其他ID进行定位的工具。

4.创建一个新的txt文档,用于记录接下来我们找到的各类信息,将3中复制的Form Set ID代码粘贴到这个文档中,如下图所示。

5.返回IFR文档,搜索 ‘Form: Setup’,我们将得到如下的结果:
注意,在搜索结果的下面,有着诸如Ref: Main 和 Ref: Advanced 的字样。这些便是BIOS中被隐藏的菜单的列表,也是你在AMIBCP里Setup目录下看到的菜单。

如下图,红框中的内容表示被隐藏的菜单名,而蓝框中的4个数字便是它们的
十六进制Form Set ID

红框表示菜单名,蓝框表示其对应的短ID

我们将这些信息以类似下图这样的方法规范记录下来:
红框中的英文表示你想对其进行的操作,Reveal指让其在菜单中显示出来
Rename指将这个菜单重命名,Leave则指将这个菜单移出主界面中
Swap Exit指用这个菜单替换原先的Exit菜单

这些说白了就是备注,是写给你自己看的
规范记录能让我们的操作更不容易犯错,请务必遵循这一原则

现在,我们已经有了被隐藏菜单的ID,我们此时再利用例如’Form: Advanced’对多个结果进行搜索
若ID与隐藏菜单ID相符,则跳过,若不相符,则说明这个ID对应的菜单在当前BIOS菜单中是可见的,当然也有特殊情况

有时,同一个’Form: XXXX’可能会找出两个以上的结果,说明有的ID没被用上
例如’Form :Boot’,在这个例子中出现了三个不同的ID结果,一个是列于隐藏菜单中,一个列于可见菜单中,还有一个并没被采用

依次对各项进行搜索、登记、最终整理出如下图一般的文档:

6.当你记录下了所有的菜单ID和信息后,用你喜欢的十六进制编辑器打开提取出来的AMITSE PE32模块,使用查找功能对你在步骤3中记录下的第一个Form Set ID进行搜索,如图:(即本例中写在文档开头处的ID)

你可能会找到15-30个结果(有的BIOS会更少,本例中找到的结果为19个)

*请注意* 你是怎么提取的PE32模块,之后就要用同类的选项进行替换。
在本例中,你用UEFITOOL NE 提取出了 As-Is文件(扩展名.SCT),那之后就要用UEFITOOL的Replace As-Is进行替换。
UEFITOOL NE只能用来提取,不能进行替换
UEFITOOL 普通版既可以提取,也能进行替换


7.第一个结果一般都不是我们想要的,我们点击 ‘查找下一个’ ,对右边的“乱码”进行快速浏览
当你浏览到如下图这样一个区域时,它很有可能就是我们要找的地方了
(右边显示有连续的、成块状的相同内容)

此时,你是否有注意到这些块状区域的十六进制码?如果没有,我这里用红圈为你特别标识了出来:
2020/5/2 更新:据部分新平台读者反应,他们的Setup结构与下文所述不太相同,具体差别我会在后面指出。
已知这种新平台模具有: 神舟精盾X57S1,i7-1065G7

而蓝框中的’10 27’,正是Setup菜单的 Form Set ID
黑框中的内容,则是我上面所说的“连续、成块状”的“乱码”

到此,这个区域的结构我们大致可以这样描述:
蓝框上面红框中的内容表示着我们BIOS菜单中所有的功能菜单选项
蓝框下面红框中的内容表示着我们BIOS菜单中隐藏的功能菜单选项

注:对上文所述的部分新平台模具Setup结构,此处应为:
蓝框上面红框中的内容表示着我们BIOS菜单中所有的功能菜单选项
蓝框下面红框中的内容表示着我们BIOS菜单中显示的功能菜单选项
所以所属这种情况的用户,只需要在蓝框的底下区域红框内填入你想使其出现的菜单ID即可,并无视以下内容中提到的“短ID代码块”相关内容。

8.我们将上面红框中与下面红框中的内容再次记录到文档中,注意要记录对应的起始地址与正确的字节数量,如图所示:

9.现在,让我们来寻找例如’19 27’这样的短ID组成的区域块,这个区域块记录了所有被隐藏菜单的短ID

在十六进制编辑器中输入’19 27’进行寻找,因为我们已知’19 27’对应的Chipset菜单是被隐藏的,所以可以帮我们更快确定位置。你可能会找到2-3个结果,如果更多也没关系。
要找的那个代码块应该是类似图中这样的:

在’19 27’的周围应有其他被隐藏菜单的ID,它们共同组成了此处的代码块,图中的代码块由7个ID组成

记录下这个代码块和它的起始地址,如图所示:

10.现在,你记录操作的文档结构应该和我的相似了:

接下来,我们就要对这些负责隐藏或显示的代码块进行修改了

首先,我们在文档中做一个编辑分界线,复制上面记录下来的
‘被隐藏的部分’代码块和’隐藏ID列表’代码块

修改起始于@0055930处的隐藏部分代码块:
将短ID为’1a 27′(Security)和’15 27′(Exit)对应的长ID 替换到原先隐藏 ’17 27′ 和 ’18 27′ 的代码区域,然后将剩下的行全部改为 ’00’

再修改位于@00053000处的隐藏短ID列表,将原组合修改为现在的组合,剩下的区域补位 ’00’
最终效果如下图:

这样改,目的是将Security菜单和功能单一的’15 27’版Exit菜单隐藏,前者是出于用户安全考虑的,如果你执意要让Security菜单可见,那就不要将其ID列在隐藏代码块 与 隐藏ID列表中,同样的,空余的区域记得补满 ’00’

11.上一步中在文档里修改好你想要的结果后,将其录入到十六进制编辑器中,本例子最终改出的效果如图:

以及短ID列表修改后的效果:

12.保存修改好后的AMITSE PE32模块,将其替换到在UEFITOOL中打开的BIOS中,本例子中应选择 Replace As-Is 项进行替换
若你在步骤1中提取出的是body(.efi),那这一步就用Repalce body 项进行替换

13.替换完成后保存BIOS文件,接着打开AMIBCP,加载刚刚我们修改过的BIOS文件,来到下图所示的目录:
红框内为我们需要去到的目录
蓝框内为被隐藏的菜单

这一步,我们需要修改蓝框中菜单的使用权限以及为它们重命名
(Access/Use : Default是不可见,USER是可见)

在本例中,我采取这样一种命名与赋权方式:

到此为止,对BIOS文件的修改已全部完成,保存AMIBCP中修改好的最终BIOS版本,准备正式刷入。

14.利用INTEL FPT进行BIOS刷入:
命令: fptw64 -f -bios bios_all.rom
(此处的bios_all.rom根据你自己的命名进行修改)

FPTW64.exe并不通用,你需要找到适合你自身机器ME FW version的FPT,你可以在BIOS主页或者HWINFO64中查看到你的ME版本信息,然后去下述地址进行寻找
INTEL FPT下载链接: https://www.win-raid.com/t596f39-Intel-Management-Engine-Drivers-Firmware-amp-System-Tools.html

最终修改完成效果:



由于作者水平有限,难免出现遗漏和瑕疵,欢迎大家在评论区进行指正

下载链接:
AMIBCP https://www.lanzous.com/i98xn8b
FPTW64 https://www.lanzous.com/i8p0nfg
(fptw64不通用,同方八九代模具可尝试使用)
UEFITool https://www.lanzous.com/i8p0nja
wxMEdit https://www.lanzous.com/i8p0o0h
UEFITool NE https://www.lanzous.com/i99x8ih
Universal IFR Exctractor https://www.lanzous.com/i99x8ji
本文示例机型修改文件 https://www.lanzous.com/i9a1qcd

文章更新记录:

2020/4/28 —— 修改文章标题
2020/5/2 ——添加了部分新平台机型的修改建议


评论

  • 程程回复

    感谢大佬,太开心了

  • Ardentwheel回复

    在下面加入 12 27,13 27 段就自动显示了,
    但是在bios里只会显示前六个,最后的Save & Exit不会显示不知为什么

    神舟精盾X57S1,i7-1065G7

    • bswaterb回复

      如果方便的话麻烦把你提取的原BIOS丢我邮箱里,我去看看,781201407@qq.com

粤ICP备19119981号