用动态法修改BIOS,为了保证MINIT、HTINIT、1PE32、1PE32B、2PE32、2PE32B各个模块在BIOS中位置不变,我们经常用模块修补的方法,但过程有些繁琐,现在向大家提供一种可行的AWARD BIOS模块合并的方法。
通过前面的AWARD BIOS 压缩模块分析,我们很容易就能修改模块的大小,修改校验码。
3edd751ex7f9da3da9fe6&690.png
首先我们用CBROM查找BIOS中模块容量最小且在这些需要修正入口地址的模块之前,大小在374-1024B,如EPA模块就基本能符合我们的要求。
接下来把我们找到的理想合并模块完整的保存成一个文件,从BIOS中把此模块剪切掉,此时BIOS容量变小;查找BIOS最后一个模块的尾部把保存的文件进行写入,查找ACPITBL.BIN模块的尾部把保存的文件进行粘贴,此时BIOS容量恢复。把粘贴进来的这个模块填充“FF”
最后把ACPITBL的模块长度+保存下来的模块长度修正到ACPITBL模块中并修正校验码,到此模块合并完毕,还差最后一步计算主模块到(BIOS容量-10003H)的checksum16填入(BIOS容量-10002H),切记必须修正BIOS的头部信息,不然刷完直接进不了BIOS也进不了系统,此头部信息可以通过CBROM加入ACPITBL.BIN后获得。用AWARD SLIC MOD v1.29特别版,把事先修改完成的MAIN_MOD.BIN和ACPI_MOD.BIN放于目录下,选择动态法,就能完美修改咯

标签: none

添加新评论