Phoenix WinPhlash bios 刷新工具怎么使用?

宏碁5570系列bios激活vista完美方案升级BIOS不用再破解 这个bios属于带原生slic的 bios,MOD_4B00.ROM有pubkey,HOLE3.ROM里面有marker,但是刷到有点机子里就可以显slic,有的就没有,分析尾部发现没有F8,不刷新80000到90000部分内容,而查看rom.log发现hole2正好位于这个部分里面,官方网站bios里的hole2里面全是FF。 完美解决方案(猜测,未测试):从带完整原生slic的5570系列机子里提取hole2替换官网bios里面的,修改尾部加F8强制刷新hole2模块,这样以后升级bios也不需要再破解了! 所以刷了官方bios能显slic的兄弟能把你机子里的bios提取一份出来给我吗? 因为我怀疑你的机子里的hole2不为空。 参考这里: 本文内容是远景赵大侠的研究成果,本人稍加整理。 最近通过查看一些带完整原生slic的bios,发现厂商修改的bios大部分都不是将slic作为一个单独acpi模块文件,这和大家以前的修改方法是不一样的。于是想自己动手试试用厂商这种方法修改我的神舟F205S的bios,经过赵兄的指点终于搞定了,现把方法整理出来供大家参考,希望对用Phoenix的 BIOS(特别是联想机子,因为联想的slic大部分都是这种改法)的兄弟有所启发。 其实现在好多Phoenix BIOS都是带原生slic的,只不过有可能刷新后用everest查看不到(解决方法看后面部分内容),首先判断你的bios是不是带原生slic可以根据以下2点: 1. 在bioscodeX.rom(X一般为1)中能搜索到slic表的表头信息(oemid和oemtable可能为空或者是test之类的信息) 2. 在holeX.rom或者MOD_4A0X.ROM中能找到slic表的pubkey和marker部分 如果你的bios符合以上2点基本就可以肯定你的是带原生slic的bios。因为上面3部分内容构成了完整的slic表(注意完整的slic表中的表头和bioscodeX.rom中的表头有几个字符不一致,这个是由后面内容自动生成的,不用理它的)。 对于这种bios,首选需要核对这3部分的信息是否是同一厂商的,不是的话需要改过来,另外还需要核对RSDT的信息是否和SLIC信息一致,不是的话也需要改过来,以上工作完成后如果你的bios本来就能显示slic表,刷完修改的基本就可以激活了,但是也有些bios刷新完修改了的bios之后,再查看slic表发现还是原来的,或者有的bios满足上面的条件,但是用everest查看不到slic表,下面来讨论这种特殊的bios,这也是本文的重点。 第一种原因: 你的bios加了判断条件,,如果判断失败,复制SLIC表头的代码就不会执行,满足条件才显示slic表,下面以我的bios为例,具体bios判断条件可能不一样的,仅供参考原理: 经过赵兄对同型号机型的显示slic的bios和不显示slic的bios反编译对比发现如下代码 seg0009CF call far ptr 0F000h:48B6h seg0009D4 push ds seg0009D5 push 0F000h seg0009D8 pop ds seg0009D9 assume ds:nothing seg000:D9D9 mov eax, ds:48B2h seg000:D9DD pop ds seg000:D9DE assume ds:nothing seg000:D9DE cmp eax, 22995668h seg000:D9E4 jnz short loc_DA1D 得出结论0F000h:48B2h处的代码如果是 22995668h ,就会有 SLIC表,22995668h 对应的字符为“hV”。经过搜索,在显示slic的bios的HOLE5.ROM中发现字符“hV”,而不显示功。相对于以前大家手动加一个acpi模块的方法,这种方法更完美一些,这也是官方的修改方法。 最后,有slic,是不是也是靠尾部不刷类似hole5的判断条件实现的啊?期待赵兄能最终能搞定ibm这个问题! 完整的Phoenix BIOS=“主bios”(0000~FFFF部分)+“尾部”(10000后面的一小部分)! winphlash备份出来的 BIOS 文件的“尾部”不是从 BIOS芯片中读出来的,而是取自在