找回密码
 立即注册
搜索
查看: 107|回复: 6

据说已经有OEM VISTA了。

[复制链接]

602

主题

4540

回帖

6994

积分

管理员

积分
6994
发表于 2007-2-12 02:08:52 | 显示全部楼层 |阅读模式
哪位不怕死的来做小白鼠?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1138

主题

2万

回帖

3万

积分

管理员

几凡失意仍能傲!

积分
30558
发表于 2007-2-12 10:26:57 | 显示全部楼层
你说的不会是那种要修改BIOS的版本吧?
回复

使用道具 举报

977

主题

1万

回帖

2万

积分

版主

横向发展中

积分
27216
发表于 2007-2-12 19:33:34 | 显示全部楼层
可能就是软改bios的,节后新电脑,新宽带上架,下载一个试试
海浩-生活的一部分
回复

使用道具 举报

1546

主题

1万

回帖

1万

积分

管理员

积分
17163
发表于 2007-2-12 21:31:10 | 显示全部楼层
现在没机器让我玩,歇菜。
回复

使用道具 举报

493

主题

6653

回帖

9870

积分

荣誉版主

积分
9870
发表于 2007-2-13 08:23:54 | 显示全部楼层
OEM VISTA是联想还是其他品牌?
回复

使用道具 举报

307

主题

6955

回帖

9869

积分

荣誉版主

含笑半步癫

积分
9869
发表于 2007-2-13 23:42:55 | 显示全部楼层
转贴自DRL

思路来自binbin和gavotte在CCF的讨论
原理很简单,系统在启动之后会把bios内容映射到内存的高端部分
其实读取BIOS的ACPI_SLIC/RSDT表也就是读取对应位置的内存
只要改掉这部分的内存,写入我们需要的验证信息,就可以起到和
刷修改过的bios同样的效果

但是从2003 SP1起,ring3上的程序完全不允许修改\Device\PhysicalMemory,
这个自然也包括Vista,解决办法有两个

1. 写一个Kernel Driver,在ring0级上修改内存,并且让这个驱动在mssmbios.sys*
之前加载

2. 改动引导系统,在引导Vista之前修改对应位置的内存

我试验的是方法2,比较简单,先用U盘启动,进入dos环境,修改内存,然后用grub4dos
引导Vista,结果证明完全可行。不过就目前来说,这只是一个proof of concept,证明这个
“软改”思路的正确性。

见附图(浪费点资源,重贴一次...),系统配置为ASUS P5B-Deluxe(AMI BIOS)+2GB RAM

局限性:
1. BIOS内必须已经有ACPI_SLIC表,且长度为374bytes(可以用everest检查),目前这个
程序只是替换而不能加入SLIC表
2. 对>4G内存的系统,支持状况不详,假如bios映射在4GB内那么这个办法有用,否则无效
3. 带整合显卡的系统未经测试


进一步的完善:
1. 做一个磁盘img镜像,用osloader或者grldr引导,然后配置合适的autoexec.bat,直接调用修改程序和grub4dos,自动启动vista。这个比较简单。或者做成ISO镜像。
2. 写一个kernel driver...有会的同学可以PM我,指点一下,我还没写过kernel driver
3. 在没有ACPI_SLIC表的系统上重构ACPI,加入ACPI_SLIC表。

感谢:
gavotte的思路和binbin在msn上的指点。

注:
*mssmbios的作用参考
http://download.microsoft.com/do ... 072878E6/SMBIOS.doc
但是这个驱动也许并不一定要在mssmbios.sys之前加载,因为Vista可能是在用户登陆
时才验证激活状态,另外一个可能是mssmbios.sys每次都是实时读取数据,那么这两种
情况下,驱动只要写出来就行。

============以上内容在保留完整性的前提下可以自由转载==================
我的Blog

小于,你在天堂还好么?是否过着你想要的生活?
回复

使用道具 举报

139

主题

1498

回帖

2294

积分

荣誉版主

积分
2294
发表于 2007-2-22 00:47:18 | 显示全部楼层
已经试过,可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-15 15:48 , Processed in 0.081771 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表