|
|
根据 AMI BIOS 的特性,我们得出 SLIC内存地址的计算公式: 注意:请用你自己的地址计算,下面的“13828h”只是个例子。 SLIC内存地址=FFF80000h+13828h=FFF93828h (本例的BIOS文件大小是 512KB 的) 注意:HEX 的写法是:28 38 F9 FF SLIC内存地址计算公式并不通用 !如下 :
当你的BIOS文件大小是1MB时: SLIC内存地址=FFF00000h+13828h=FFF13828h
当你的BIOS文件大小是 512KB 时: SLIC内存地址=FFF80000h+13828h=FFF93828h
当你的BIOS文件大小是 256KB 时: SLIC内存地址=FFFC0000h+13828h=FFFD3828h
强调:上面的地址是相对固定的,不管你换多大的内存,256M、512M、1G、2G 这个地址都是不变的 !
4、用“WINHEX”打开前面释放的 “1b” 模块,点“查找文本”图标
输入“RSDT”,确定
可以看出 RSDT表长为:28h ,
修改表长 +4 ,28h + 4 = 2Ch
用鼠标从 RSDT开始划选 28h 的部分,
在“28h”的后面填写 上面计算出来的SLIC表的内存地址
本例中,RSDT下面有 XSDT表,必须要同时修改 !
可以看出 XSDT表长为 “2C”,注意这里表长要加 8 ! 2Ch+8=34h ,修改表长为 34h ,
用鼠标从 XSDT开始划选 2Ch 的部分,
在“2Ch”的后面填写 上面计算出来的SLIC表的内存地址
我们还要修改RSDT表和XSDT表的 OEMID、OEMTABLEID 打开“ASUS.BIN” ,选中 OEMID、OEMTABLEID ,CTRL+C复制
回到 “1b” ,在相应的位置 CTRL + B (覆盖)
好了,1B 模块修改好了,保存吧 !~
5、 打开 “MS DOS”窗口 ,输入 CD/TEMP 转到 C:/TEMP 目录
输入 amimmwin 75i65g_3.rom /r 1b 1b 回车,提示信息的意思是没有警告、没有错误发现,就是成功了 !(/r 参数的意思是替换)
6、打开“WINHEX” ,打开刚才修改过的 BIOS 文件,用第 3 步的发法,查找 SLIC ,看看 SLIC表在BIOS文件中的位置有没有被改变
郁闷 !怎么变成 “13818h” 了,SLIC的地址变为 “FFF93818h” ,因为我们修改了 1B 模块,模块压缩后比原来的大了“10h”, (AMI 的 BIOS 模块是从下面往上写的) 怎么办 ? 我们只好重复 第 4 和 第 5 步的操作,修正 1B 模块中的 SLIC内存地址(别忘了 RSDT、XSDT都改),然后重新导入 BIOS 。
在用“WINHEX”查看 SLIC表在BIOS中的位置,这次没变 ! ^_^ 工作完成了 ! 老版本的BIOS要用 mmtool2.2 修改。 7.0 版的BIOS 要用 AMIBCP7.5 修改,不过里面的 ACPI 表在 0F 模块里 ,而且里面的表特殊,修改比较麻烦。这个另外在说吧 ! 附录导入证书序列号: 当你安装的系统不是华硕的 VISTA 时,不要紧,我们可以导入华硕的证书就可以了: slmgr.vbs -ilc ASUS.XRM-MS
修改序列号: slmgr.vbs -ipk 6F2D7-2PCG6-YQQTB-FWK9V-932CC
注意要以管理员模式运行才行。
注意:仅用于试验环境的技术研究以及漏洞的验证。不涉及任何有版权的内容,仅供技术交流研究之用。 |
|
|
| 评论人 | 评论内容 | 发表时间 |
| 发表评论 | |
| |