AWARD BIOS 激活OEM VISTA辅助工具
2007-10-11 来源:PC235.COM 您有问题?请联系我们3月26更新☆新方法1由[nopworld]提供最新版 2007.330
首先让我们向所有为软件完善而做测试的网友致敬 ! ! !
AWARD BIOS 修改 SLIC 辅助工具 FOR OEM VISTA本站下载:http://bios.net.cn/Article/soft/biosxgrj/11000731626.htm
保证FACS地址不变的思路:
注意:仅用于试验环境的技术研究以及漏洞的验证。不涉及任何有版权的内容,仅供技术交流研究之用。
为了解决待机问题,就必须保证 FACS地址不变,下面是软件的大致流程:
(注:位置指在文件中的位置,地址指临时地址,偏移指在ACPITBL中的RSDT表中存放 表内存地址 的位置)
找 66BE00000F0067668B86 读后面2个字节得 RSDT地址
找 67668BBE + RSDT地址 + 0000 + 2667668947 读后面1个字节得 RSDT偏移
搜“RSDT”得到 RSDT位置(同时也是原ACPI位置),
搜"FACS"得到 FACS位置,
计算 原表长= (FACS位置-RSDT位置)÷ 4 ,
计算 FACS地址=RSDT地址+表长×4
在 原ACPI位置 ~ FFFF 之间找 (FACS地址+4)
没有找到 FACS地址+4 时(没被占用):
在空位置写 新ACPI表 =原ACPI表 + FACS + SLIC
修改三处 : 新表长=原表长+2 、ACPI位置变 、FACS位置变 、
在刚才 RSDT偏移 那个地方,把 2667668947 + RSDT偏移 改为 E8xxxx909090 (xxxx为call 的距离,计算方法省略)
在空位置加 call 调用的代码(省略),其中:
SLIC地址=FACS地址+4 SLIC偏移=RSDT偏移-(原表长-1)×4
找到 FACS地址+4 时(被占用),没找到 FACS地址+8 时(没被占用):
在空位置写 新ACPI表 =原ACPI表 + FACS + FACS + SLIC
修改三处 : 新表长=原表长+3 、ACPI位置变 、FACS位置变 、
在刚才 RSDT偏移 那个地方,把 2667668947 + RSDT偏移 改为 E8xxxx909090 (xxxx为call 的距离,计算方法省略)
在空位置加 call 调用的代码(省略),其中:
SLIC地址=FACS地址+8 SLIC偏移=RSDT偏移+(原表长-1)×4
---------------------------------------
上面是我正想编写的新程序的思路和方法,大家看看是否有错误。
随着“动态法”的成熟,我想“替换法”和“静态法”也应该退出历史舞台了,这代表者我们在不断进步。
所以在新的软件中,我将只采用新的“动态法”(FACS地址不变),
当然还会保留 “方案1” 和 “方案2” 来兼容部分技嘉主板。
这样一来,软件的提示少了,使用者的判断也少了,这样才能做到“傻瓜型”。
也就不会有人问“向导2”中要不要选 “ 替换法 请勾选 ” 这个问题了。
也就是说,原软件我将不在更新了,没有意义了。当然如果发现重大BUG的话(待机除外),我还会改正的。
希望大家谅解。
我会把主要精力放在新软件的编辑上,他将是最完美的修改工具。
时间关系,我想如果楼上我的思路没问题的话,我将马上编写,并且测试,有望在 315 放出。
下一步我会编写一个修改 INTEL主板BIOS的 解决工具,只是想法,不知道能不能行。