日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

深入底層 評(píng)估Vista系統(tǒng)內(nèi)核模式安全性( 三 )


dd;offset;_ConsoleSetInformation@8;;;ConsoleSetInformation(x,x)
dd;offset;_ConsoleReset@4;;;ConsoleReset(x)
For;serial;port;(_SerialPortFunctionTable);these;are:
dd;offset;_UdpEnumerateDeviceClass@12;;;UdpEnumerateDeviceClass(x,x,x)
dd;offset;_SpClose@4;;;SpClose(x)
dd;offset;_SpRead@16;;;SpRead(x,x,x,x)
dd;offset;_SpWrite@16;;;SpWrite(x,x,x,x)
dd;offset;_SpGetInformation@8;;;SpGetInformation(x,x)
dd;offset;_SpSetInformation@8;;;SpSetInformation(x,x)
dd;offset;_SpReset@4;;;SpReset(x)
For;PXE;(_UdpFunctionTable):
dd;offset;_UdpEnumerateDeviceClass@12;;;UdpEnumerateDeviceClass(x,x,x)
dd;offset;_UdpOpen@8;;;UdpOpen(x,x)
dd;offset;_SpClose@4;;;SpClose(x)
dd;offset;_UdpRead@16;;;UdpRead(x,x,x,x)
dd;offset;_UdpWrite@16;;;UdpWrite(x,x,x,x)
dd;offset;_UdpGetInformation@8;;;UdpGetInformation(x,x)
dd;offset;_UdpSetInformation@8;;;UdpSetInformation(x,x)
dd;offset;_UdpReset@4;;;UdpReset(x)
你可能注意到有些函數(shù)的返回在不同類(lèi)別之間會(huì)存在共享(例如:serial port和PXE) 。
接著LOADER_PARAMETER_BLOCK結(jié)構(gòu)通過(guò)OslInitializeLoaderBlock進(jìn)行初始化,LOADER_PARAMETER_BLOCK包含了一些系統(tǒng)狀態(tài)信息,如:?jiǎn)?dòng)設(shè)備、ACPI、SMBIOS表等 。下面為L(zhǎng)OADER_PARAMETER_BLOCK在Vista64位版本的結(jié)構(gòu):
0x000;LoadOrderListHead;:;struct;_LIST_ENTRY
0x010;MemoryDescriptorListHead;:;struct;_LIST_ENTRY
0x020;BootDriverListHead;:;struct;_LIST_ENTRY
0x030;KernelStack;:;Uint8B
0x038;Prcb;:;Uint8B
0x040;Process;:;Uint8B
0x048;Thread;:;Uint8B
0x050;RegistryLength;:;Uint4B
0x058;RegistryBase;:;Ptr64;to;Void
0x060;ConfigurationRoot;:;Ptr64;to;struct;_CONFIGURATION_COMPONENT_DATA
0x068;ArcBootDeviceName;:;Ptr64;to;Char
0x070;ArcHalDeviceName;:;Ptr64;to;Char
0x078;NtBootPathName;:;Ptr64;to;Char
0x080;NtHalPathName;:;Ptr64;to;Char
0x088;LoadOptions;:;Ptr64;to;Char
0x090;NlsData;:;Ptr64;to;struct;_NLS_DATA_BLOCK
0x098;ArcDiskInformation;:;Ptr64;to;struct;_ARC_DISK_INFORMATION
0x0a0;OemFontFile;:;Ptr64;to;Void
0x0a8;SetupLoaderBlock;:;Ptr64;to;struct;_SETUP_LOADER_BLOCK
0x0b0;Extension;:;Ptr64;to;struct;_LOADER_PARAMETER_EXTENSION
0x000;Size;:;Uint4B
0x004;Profile;:;struct;_PROFILE_PARAMETER_BLOCK
0x014;MajorVersion;:;Uint4B
0x018;MinorVersion;:;Uint4B
0x020;EmInfFileImage;:;Ptr64;to;Void
0x028;EmInfFileSize;:;Uint4B
0x030;TriageDumpBlock;:;Ptr64;to;Void
0x038;LoaderPagesSpanned;:;Uint4B
0x040;HeadlessLoaderBlock;:;Ptr64;to;struct;_HEADLESS_LOADER_BLOCK
0x048;SMBiosEPSHeader;:;Ptr64;to;struct;_SMBIOS_TABLE_HEADER
0x050;DrvDBImage;:;Ptr64;to;Void
0x058;DrvDBSize;:;Uint4B
0x060;NetworkLoaderBlock;:;Ptr64;to;struct;_NETWORK_LOADER_BLOCK;bytes
0x068;FirmwareDescriptorListHead;:;struct;_LIST_ENTRY
0x078;AcpiTable;:;Ptr64;to;Void
0x080;AcpiTableSize;:;Uint4B
0x084;BootViaWinload;:;Bitfield;Pos;0,;1;Bit
0x084;BootViaEFI;:;Bitfield;Pos;1,;1;Bit
0x084;Reserved;:;Bitfield;Pos;2,;30;Bits
0x088;LoaderPerformanceData;:;Ptr64;to;struct;_LOADER_PERFORMANCE_DATA
0x090;BootApplicationPersistentData;:;struct;_LIST_ENTRY
0x0a0;WmdTestResult;:;Ptr64;to;Void
0x0a8;BootIdentifier;:;struct;_GUID
0x0b8;u;:;union
0x000;I386;:;struct;_I386_LOADER_BLOCK
0x000;CommonDataArea;:;Ptr64;to;Void
0x008;MachineType;:;Uint4B
0x00c;VirtualBias;:;Uint4B
下面會(huì)尋找系統(tǒng)磁盤(pán)(通過(guò)OslEnumerateDisks)和加載系統(tǒng)注冊(cè)表項(xiàng)HKEY_LOCAL_MACHINE(通過(guò)OslpLoadSystemHive) 。當(dāng)系統(tǒng)注冊(cè)表項(xiàng)加載后,我們遇到了Vista在啟動(dòng)階段的第一次代碼完整性(通過(guò)OslInitializeCodeIntegrity) 。在該處首先會(huì)調(diào)用MincrypL_SelfTest,MincrypL_SelfTest驗(yàn)證SHA1散列值,并使PKCS1的簽名驗(yàn)證開(kāi)始工作(using a pre-defined test case=通過(guò)預(yù)定義的測(cè)試樣例?) 。如果預(yù)先定義的測(cè)試樣例失敗了,會(huì)返回錯(cuò)誤代碼到0xC0000428 。然后,檢查調(diào)試器是否開(kāi)啟(通過(guò)BlBdDebuggerEnabled) 。如果在這里檢測(cè)到調(diào)試器在開(kāi)啟狀態(tài),會(huì)調(diào)用KnownAnswerTest 。如果沒(méi)有檢測(cè)到調(diào)試器處在開(kāi)啟狀態(tài),會(huì)直接跳過(guò)該處 。

推薦閱讀