1 《Undocumented Windows 2000 Secrets》翻译 --- 第五章( 三 )


l 另一个可能性是,检查SharedUserData结构中的NtMajorVersion和NtMinorVersion成员,该结构定义与Windows 2000头文件ntddk.h中 。Windows NT 4.0的所有Service Pack都将SharedUserData->NtMajorVersion设为4,将SharedUserData->NtMinorVersion设为0 。Windows 2000的当前版本为Windows NT Version 5.0 。
l 本章给出的代码采用了另一中替代方法:它测试SDT的ServiceLimit成员是否和它的预期值相匹配,该预期值是211(0xD3)针对Windows NT 4.0和248(0xF8)针对Windows 2000 。
表5-1. Windows 2000/NT 服务表对比
Windows 2000
索引
Windows NT 4.0
NtAcceptConnectPort
0x00
NtAcceptConnectPort
NtAccessCheck
0x01
NtAccessCheck
NtAccessCheckAndAuditAlarm
0x02
NtAccessCheckAndAuditAlarm
NtAccessCheckByType
0x03
NtAddAtom
NtAccessCheckByTypeAndAuditAlarm
0x04
NtAdjustGroupsToken
NtAccessCheckByTypeResultList
0x05
NtAdjustPrivilegesToken
NtAccessCheckByTypeResultListAndAuditAlarm
0x06
NtAlertResumeThread
NtAccessCheckByTypeResultListAndAuditAlarmByHandle
0x07
NtAlertThread
NtAddAtom
0x08
NtAllocateLocallyUniqueld
NtAdjustGroupsToken
0x09
NtAllocateUuids
NtAdjustPrivilegesToken
0x0A
NtAllocateVirtualMemory
NtAlertResumeThread
0x0B
NtCallbackReturn
NtAlertThread
0x0C
NtCancelloFile
NtAllocateLocallyUniqueld
0x0D
NtCancelTimer
NtAllocateUserPhysicalPages
0x0E
NtClearEvent
NtAllocateUuids
0x0F
NtClose
NtAllocateVirtualMemory
0x10
NtCloseObjectAuditAlarm
NtAreMappedFilesTheSame
0x11
NtCompleteConnectPort
NtAssignProcessToJobObject
0x12
NtConnectPort
NtCallbackReturn
0x13
NtContinue
NtCancelloFile
0x14
NtCreateDirectoryObject
NtCancelTi mer
0x15
NtCreateEvent
NtCancelDeviceWakeupRequest
0x16
NtCreateEventPair
NtClearEvent
0x17
NtCreateFile
NtClose
0x18
NtCreateloCompletion
NtCloseObjectAuditAlarm
0x19
NtCreateKey
NtCompleteConnectPort
0x1A
NtCreateMailslotFile
NtConnectPort
0x1B
NtCreateMutant
NtContinue
0x1C
NtCreateNamedPipeFile
NtCreateDirectoryObject
0x1D
NtCreatePagingFile
NtCreateEvent
0x1E
NtCreatePort
NtCreateEventPair
0x1F
NtCreateProcess
NtCreateFile
0x20
NtCreateProfile
NtCreateloCompletion
0x21
NtCreateSection
NtCreateJobObject
0x22
NtCreateSemaphore
NtCreateKey
0x23
NtCreateSymbolicLinkObject
NtCreateMailslotFile
0x24
NtCreateThread
NtCreateMutant
0x25
NtCreateTimer
NtCreateNamedPipeFile
0x26
NtCreateToken
NtCreatePagingFile
0x27
NtDelayExecution
NtCreatePort
0x28
NtDeleteAtom
NtCreateProcess
0x29
NtDeleteFile
NtCreateProfile
0x2A
NtDeleteKey
NtCreateSection
0x2B
NtDeleteObjectAuditAlarm
NtCreateSemaphore
0x2C
NtDeleteValueKey
NtCreateSymbolicLinkObject
0x2D
NtDeviceloControlFile
NtCreateThread
0x2E
NtDisplayString
NtCreateTimer
0x2F
NtDuplicateObject
NtCreateToken
0x30
NtDuplicateToken
NtCreateWaitablePort
0x31
NtEnumerateKey
NtDelayExecution
0x32
NtEnumerateValueKey
NtDeleteAtom
0x33
NtExtendSection
NtDeleteFile
0x34
NtFindAtom
NtDeleteKey
0x35
NtFlushBuffersFile
NtDeleteObj ectAuditAlarm
0x36

推荐阅读