以下涵盖了今天大约用了2个小时分析的 Windows 7 RC内核NT*函数的变动,全部来自对WIN7 RC的内核的反汇编,没有太深入分析,包含了一些我觉得有一些意思或者影响的变动、增加的功能和函数等

这里的变动和新增,指的是相对于WRK,即WIN2003 内核的变动,因此有些很多变动在VISTA中就已经有了


(1).NtCreateFile / NtOpenFile: 
以下函数将改走IopCreateFile,而不是象此前的操作系统是从IoCreateFile->IopCreateFile
因此希望像从前一样hook IoCreateFile就掌控对文件打开、创建是不再可行了
同时IopCreateFile亦有CALLBACK机制了~很猥琐

但管道和邮槽的创建仍是走IoCreateFile


(2).Nt*Key

Nt*Key(除了Create/Open等)对于KeyHandle的引用改为了CmObReferenceObjectByHandle,并对KeyObject做一些校验

这样可能导致一些爆搜方式的XX实效了~

(3).NtFreezeRegistry/NtThawRegistry
冻结和解冻注册表操作,这个在VISTA就有了可以做一些猥琐的XX

(4).NtMakePermanentObject
创建永久对象的好东东, 也是VISTA支持

(5).NtNotifyChangeSession
很有用的东东

(6).NtQueryInformationProcess/NtSetInformationProcess:

新增InformationClass:


ProcessTotalCycleTime : 38
ProcessDefaultPagePriority 39
40号ID未使用
41号ID看了半天不知道是干啥的...
ProcessWorkingSetWatch 42
ProcessImageFileDosDeviceName :43
取进程全路径DOS名,这个东东很厚道~
ProcessIsSameFileProcess 44
检查指定的FileHandle是否和指定进程是同一个文件,这个东西也不错
ProcesssAffinityUpdateModeEnable 45
ProcessVmTopDown 46
ProcessActiveGroupsMask 47
ProcessVirtualizationToken 48(只能SET)

//虚拟化的TOKEN~

ProcessConsoleHostProcess 49
ProcessCopyProcessHeap 50
很强大~
(7).NtQueryInformationThread

新增InformationClass:

ThreadLastCall 21

ThreadThreadIoPriority 22
//传说中的IO优先级~

ThreadTotalCycleTime 23

ThreadPagePriority 24

ThreadFullTeb 26
//获得整个TEB

ThreadAffinty 30

ThreadProfing 32

ThreadIdealProcessor 33


(8).NtQueryInformationToken:

新增InformationClass

TokenLogonSessionFlags 18
TokenGetLogonSessionToken 19
TokenXxxTokenSid 20(不知道是啥)
TokenXxxTokenFlags 21 (tokenflags & 0x810,不知道是啥)
TokenAccess 22
TokenTokenFlagsPos9 23
TokenTokenFlagsPos10 24
TokenGetTokenIntergrity 25

//ADMIN完整性。。

TokenTokenFlagsPos12 26

TokenMandatoryPolicy 27

(9).NtQuerySystemInformation/NtQuerySystemInformationEx/NtSetSystemInformation

SystemBasePriorityInformation 82 (need increasebasepriority privilege)
SystemRefTraceInformation 86
SystemSpecialPoolInformation 87
SystemProcessesWithFullImageNameInformation 88

这个太强大了。。。

SystemRegisterErrorPort(only set , need tcb privilege)

SystemBootEnvironmentInformation 90

获取BootIdentifier GUID(_LOADER_PARAMETER_BLOCK->LOADER_PARAMETER_EXTENSION->BootIdentifier(GUID))
从此轻松定位BCD~


SystemEnlightenmentInformation 91
SystemVerifierInformtionEx 92
SystemCovInformation 95
SystemPartitionDeviceNameInformation 98
SystemDiskDeviceNameInformation 99 
SystemPerformanceDistributionInforamtion 100
SystemNumaProximityNodeInformation 101
SystemTimeZoneInformation 102
SystemCodeIntegrityInformation 103 
SystemProcessorMircoCodeUpdateInformation 104(only set)
SystemtProcessorBrandStringInformation 105
SystemSystemVaInformation 106
SystemLogicalProcessorRelationshipInformation 107
SystemStoreInformation 109
SystemRegistryAppendStringInformation 110 (only set)
SystemAitSamplingInformation 111(only set)
SystemVhdBootInformation 112
SystemCpuQuotaInformation 113
SystemLowPriorityIoInformation 116
SystemTpmBootEntropyInformation 117(only in kernel mode)
SystemVerifierInformation 118
SystemAdjustPagedPoolWorkingSetSizeInformation 119(only set)
SystemAdjustSystemPtesWorkingSetSizeInformation 120(only set)
SystemNumaNodesInformation 121
SystempAuditQueryResultsInformation 122
SystemCommitInformation 123(total commit pages / Total Commit limt / Peak Commitment)

(10).NtQueueApcThreadEx
强大~

目前NtQueueApcThread直接调用NtQueueApcThreadEx实现

穿越HIPS~

(11).NtSystemDebugControl

参考:http://hi.baidu.com/mj0011/blog/item/b3ee910a05811636b1351db5.html