未标题-1.gif (1829 字节)

                网站论坛  返回主页  联系我们  打印此页    QQ:125081447    

                      BIOS维修网站>> BIOS修改 >> AMI BIOS修改              

修改AMI BIOS安装OEM VISTA系统

:此文章图片及文字为BIOS维修网站所有,仅用于技术研究以及漏洞的验证。不涉及任何有版权的内容,仅供技术交流研究之用。

    在Windows XP时代,通过修改BIOS,安装OEM版XP,让我们感受了正版XP的乐趣;但现在微软推出了新的VISTA操作系统,由于VISAT采用新的SLP2.0验证技术,即通过验证BIOS中的SLP证书、标志以及硬件相关的特征;因此以前修改BIOS安装XP的方法,无法用于VISTA激活(XP采用SLP1.0验证技术)。

    但SLP 2.0 技术也存在着弱点,我们可以通过使用从OEM 硬件-各种品牌机中获取的信息,将SLP 2.0的各项验证数据移植到自己的主板BIOS中,来实现VISAT的激活,达到使用正版VISAT功能的目的。

    耗子分别写了修改AWARD和PHOENIX BIOS安装OEM版VISAT的文章, 由于目前联想公布了OEM版VISTA,而且其不需要输入序列号,只要修改好BIOS信息,安装好联想VISTA后,自动激活,呵呵,与安装联想XP过程是一样的。耗子在介绍修改AMI BIOS安装OEM版VISTA时,将以修改联想标识为例,做一详细介绍。以文章以华硕ASUS_P5WDHDeluxe_bios主板BIOS为例。

    修改AMI BIOS安装VISTA,需要MMTOOLS.EXE AMIMMWIN.EXE和UltrqEdit32,MMTOOLS和AMIMMWIN可从AMI最新修改工具包中下载go.gif (151 字节)最新AMI BIOS修改工具包    go.gif (151 字节)Ultraedit32   go.gif (151 字节)联想SLIC激活文件   go.gif (151 字节)其它OEM机型SLIC文件

    首先我们先了解一下此次修改过程的原理:

    在 WINDOWS 中会在 0FFF00000h ~ 0FFFFFFFFh 形成 1MB 大小的镜像,镜像的内容和你的 BIOS 文件的内容是完全一样的。

    如果你的BIOS是 1MB 的,那这段镜像和你的BIOS 完全一样。

    如果你的BIOS是 512KB 的,那这段镜像就是你的 512KB的空位 + 512KB的BIOS =1MB。就是FFF80000h地址开始长度80000h的部分

    如果你的BIOS是 256KB 的,那这段镜像就是你的 768KB的空位 + 256KB的BIOS =1MB。就是FFFC0000h地址开始长度40000h的部分

    使用MMTOOL.exe 、 AMIMMWIN.exe的UNCOMPRESS(不压缩)参数把SLIC表加入到BIOS中。这时SLIC文件就被加入到BIOS文件里,不是压缩的,根据上面AMI BIOS的特性,在WINDOWS中的0FFF00000h ~ 0FFFFFFFFh就会找到华硕的SLIC表,我们只要把它的地址加到RSDT表的后面,WINDOWS 就能识别到联想的SLIC表!

    我们只要再修改 RSDT表的 OEMID、OEMTABLEID为联想的OEMID、OEMTABLEID,VISTA 就能激活了(当然要导入联想的证书)

    步骤1:

    首先在硬盘任意分区建立一修改目录,如本例为C:\BIOS(在C盘根目录下建立BIOS目录),将程序所需要的MMTOOLS.EXE   AMIMMWIN.EXE及需要修改的BIOS文件及SLIC表文件拷到目录中待用。

ami-vista1.gif (23829 字节)

    注意:如果BIOS文件的扩展名不是ROM,一定要改成ROM(点击文件,重命名即可修改);而且有时BIOS文件下载后,其属性都是只读,此要在属性中要去掉只读属性。

ami-vista2.gif (23845 字节)

    步骤2:

    双击运行MMTOOL.exe文件,点击“LOAD ROM[调入文件]”--在打开选择界面中--选择C盘下的BIOS目录中的P5W-DH-ASUS-Deluxe.rom文件,点打开。

ami-vista3.gif (16374 字节)

    文件调入后,选择“INSERT[插入]”---“Browse[浏览]”---打开需要加入的SLIC表文件,即我们拷到BIOS目录中的“C:\bios\lenovo.bin”文件。然后在Module[模式]”里添入“23然后选择“Insert Uncompress[输入不压缩]”点“Insert[插入]”即可

   注意:一定要选择Insert Uncompress[输入不压缩]”否则添加时将出错,“Module[模式]”可选择22、23、24.....29、2A、2B、2C、2D、2E、2F任一一个,但最好选择在文件中没有用过的ID。

ami-vista4.gif (19078 字节)

    插入后,应可看到我们插入的23模块,0.00表示没有压缩

ami-vista5.gif (10135 字节)

    确定文件已经加入后,点击“Extract[分离]”,选择“1B”模块,点击“Browse[浏览]”选择分离文件的文件名和保存地址,这里选择“C:\bios\1b.rom ”,点击“Extract[分离]”,将1B文件分离到我们已经指定的BIOS目录中。

    注意:要注意是否选择“In uncompressed form”选项。

ami-vista6.gif (19654 字节)

   将1B文件分离后,选择“Save ROm[保存文件]”,将添加SLIC表的文件保存(覆盖原文件即可)。保存时的提示为,是否覆盖原文件,点击“是[Y]”即可。

ami-vista7.gif (7011 字节)

    保存完成后,即可关闭MMTOOLS。

    步骤3:

    运行“UltraEdit32”程序,点击打开,选择刚才我们修改后的BIOS文件“P5W-DH-ASUS-Deluxe.rom”。如果文件打开看不到内容,可选择“编辑”-“HEX编辑”即可正常显示。

ami-vista8.gif (15579 字节)

    文件调入后,选择工具栏上的“搜索”--“查找”--输入查找的内容“SLIC”,注意选择以ASCII文本模式搜索。

ami-vista9.gif (18653 字节)

    确定后,即可找到“SLIC”如下图:

ami-vista10.gif (6701 字节)

    其地址为36094H,此地址即为联想SLIC表文件在BIOS中的位置。(注意:这里的H只是标明地址为16进制)

    根据开始我们介绍的AMI BIOS在内存中的位置,在此可以计算出SLIC表文件在系统中内存的位置:由于我们的BIOS文件是1M的,因此开始地址为FFF00000h,因此地址为:

    SLIC内存地址=FFF00000h+36094h=FFF36094h (本例的BIOS文件大小是1M的),实际的16进制地址为:94 60 F3 FF (这是由于,数据在内存中是低字节在前,高字节在后):记下94 60 F3 FF

    这里计算可用WIN自带的计算器来计算,在开始--所有程序--附件--计算器。运行后,选择查看--科学型,选择16进制,输入FFF00000+36094,由于H只是标明数值为16进制,因此H不需要输入。

    注意:这里的36094,并不固定,只代表本例的实际地址。在操作中,请使用你自己的实际地址。

    如果BIOS文件为1M  ,SLIC实际地址为:SLIC内存地址=FFF00000h+36094h=FFF36094h

    如果BIOS文件为512K,SLIC实际地址为:SLIC内存地址=FFF80000h+36094h=FFFB6094h

    如果BIOS文件为256K,SLIC实际地址为:SLIC内存地址=FFFC0000h+36094h=FFFF6094h

    步骤4:

    运行“UltraEdit32”程序,点击打开,选择刚才我们修改后的BIOS文件“1B.rom”。

    文件调入后,选择工具栏上的“搜索”--“查找”--输入查找的内容“RSDT”,注意选择以ASCII文本模式搜索。如下图:

ami-vista11.gif (17593 字节)

    找到RSDT后,可以看到RSDT表的长度为28H。

ami-vista12.gif (8129 字节)

    修改表长+4,即28H+4=2CH。如不理解16进制算法,可用WIN自带的计算器计算。

ami-vista13.gif (7782 字节)

    用鼠标选取从RSDT开始选取的28H字节,即十进制40个字节。

ami-vista14.gif (8374 字节)

    在28H字节后面,填入我们上面计算出的SLIC表在内存中的地址:94 60 F3 FF

ami-vista15.gif (8632 字节)

    由于本例中,还有XSDT表,因此还需要修改XSDT表。

ami-vista16.gif (6861 字节)

    从上图可以看到,XSDT表长为2C,这里表长需要加8位,即2CH+8=34H。如果不理解16进制算法,可用WIN自带计算器。

ami-vista17.gif (6904 字节)

    用鼠标从XSDT开始选择2CH字节,即十进制44个字节。

ami-vista18.gif (7267 字节)

    在2CH字节后面,填入我们上面计算出的SLIC表在内存中的地址:94 60 F3 FF

ami-vista19.gif (7656 字节)

    随后,我们要修改RSDT表和XSDT表的OEMID和OEMTABLEID标识。这里输入的一定要与加入的SLIC表文件中的OEM标识一样,具体,可用UltraEdit32程序,打开我们加入的SLIC表文件,即Lenovo.bin文件,即可看到14个字节的OEM标识。如下图,这里我们可以手动输入LENOVOTP-79,不足以空格补充。

ami-vista20.gif (5774 字节)

    也可在打开的Lenovo.bin文件中选择14个字节的OEM标识,鼠标右键,复制[CTRL+C]。然后转到打开1B.rom文件中,选择RSDT和XSDT表中对应的14个字节,鼠标右键,粘贴[CTRL+V]

    选择定位为,从RSDT或XSDT开始的第10个字节后,选择14个字节。(即从第11字节起,选择14个字节)。可对应下面图片。

ami-vista21.gif (6820 字节)
RSDT添加OEM标识后

ami-vista22.gif (5853 字节)
XSDT添加OEM标识后

    以上修改完成后,点击UltraEdit32工具栏--文件--保存。将修改好的1B文件保存。

   步骤5:

    修改完成后,需要将修改后的1B文件加入到BIOS文件中。

    在WIN--开始--运行--输入COMMADN,确定后,进入MSDOS方式。输入C:\BIOS回车,进入C盘下的BIOS目录。

ami-vista23.gif (8810 字节)

    输入Amimmwin P5W-DH-ASUS-Deluxe.rom /r 1b 1b.rom回车,如果没有错误提示,即表明加入正确。

ami-vista24.gif (8605 字节)

   

     修改至此,基本完成。只要将修改好后的文件重新写回主板即可。但是写入前。还需要检测一下修改的文件是否正确。使用ULTRAEDIT32打开修改保存后的P5W-DH-ASUS-Deluxe.rom文件,按步骤3,寻找SLIC表文件,如果查看到的地址。与我们开始修前查看到的地址一样,即36094H。这样表明我们修改后的文件一切正常,将文件重新写回BIOS中即可。

     但如果用步骤3查看。SLIC的地址已经改变,这种情况也是有的,因为我们修改时需要加入差不多10H字节,因此地址改变是正常的。我们只要重复做步骤4 步骤5。按改变的SLIC地址重新修改1B文件,然后保存添加即可。

    注意:修改好联想的SLIC并写入主板BIOS后。

    如果安装的系统不是联想的VISTA时,我们可以导入联想的证书就可以了:

    slmgr.vbs -ilc LENOVO.XRM-MS


    修改序列号:

    slmgr.vbs -ipk 6F2D7-2PCG6-YQQTB-FWK9V-932CC

    注意要以管理员模式运行才行

   

    如有修改的问题或疑问,请联系耗子     QQ:125081447  diybios@263.net   

    以上文本内容及图片由BIOS维修网站 网络耗子版权所有,如要转载请注明出处,否则谢绝非法盗用此文章内容。

                                                       www.biosrepair.com BIOS维修网站 耗子制作

   

建议使用Netscape4.0或IE 4.0以上版本,以800*600浏览
Copyright © 2001 BioSrepair.com All Rights Reserved   鲁ICP备05007673号
山东.烟台.BIOS维修网站 网络耗子制作完成  Email:diybios@263.net  QQ:125081447
电话:0535-5482905  传真:0535-5481905