深入底层 评估Vista内核模式的安全性
2008-01-17 16:58:44 来源:WEB开发网Vista引导过程
Windows Vista支持从PC/AT BIOS和Intel新的EFI(可扩展固件接口)启动。我们的分析过程忽略了EFI部分。在本章节的最后部分,引用了bootmgr入口点的开始指令(DllMail为EFI的入口点指令,offset 0为PC/AT的入口点指令)这个过程从Vista启动管理器开始,定位%SystemDrive%ootmgr 文件 (for PC/AT legacy BIOS)或%SystemDrive%BootEFIootmgr.efi (for EFI BIOS)。Vista Boot Manager是启动Vista的必须环节,但也适用于启动Windows Vista之前的Windows版本。
Vista Boot Manager首先调用InitializeLibrary,然后依次调用BlpArchInitialize (GDT, IDT, etc.), BlMmInitialize (memory management), BlpFwInitialize (firmware=固件?), BlpTpmInitialize (TPM), BlpIoInitialize (file systems), BlpPltInitialize (PCI configuration), BlBdInitialize (debugging), BlDisplayInitialize, BlpResourceInitialize (finds its own .rsrc section), and BlNetInitialize。
在Vista系统内,Windows传统的boot.ini配置文件已经被启动配置数据文件(BCD)所代替,Vista下该文件位于%SystemDrive%BootBCD,该文件也是注册表的值(在Vista下被挂载在HKEY_LOCAL_MACHINEBCD00000000下)。可以使用bcdedit.exe来查看该文件的内容。
一个典型的Boot Manager的BCD配置文件如下:
WindowsBootManager
Identifier:{bootmgr}
Type:10100002
Device:partition=C:
Description:WindowsBootManager
Locale:en-US
Inheritoptions:{globalsettings}
Bootdebugger:No
Pre-bootEMSEnabled:No
Default:{current}
Resumeapplication:{3ced334e-a0a5-11da-8c2b-cbb6baaeea6d}
Displayorder:{current}
Timeout:30
- ››深入理解JAR包
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››深入理解Android消息处理系统——Looper、Handler...
- ››深入理解SET NAMES和mysql(i)_set_charset的区别
- ››深入理解Mysql字符集设置
- ››深入浅出实战攻防恶意PDF文档
- ››深入剖析防火墙策略的执行过程:ISA2006系列之六
- ››深入JavaScript与.NET Framework中的日期时间(3)...
- ››深入JavaScript与.NET Framework中的日期时间(2)...
- ››深入JavaScript与.NET Framework中的日期时间(1)...
更多精彩
赞助商链接