能力值:
( LV3,RANK:20 )
|
-
-
2 楼
kd> dt nt!_teb
+0x000 NtTib : _NT_TIB
+0x01c EnvironmentPointer : Ptr32 Void
+0x020 ClientId : _CLIENT_ID
+0x028 ActiveRpcHandle : Ptr32 Void
+0x02c ThreadLocalStoragePointer : Ptr32 Void
+0x030 ProcessEnvironmentBlock : Ptr32 _PEB
+0x034 LastErrorValue : Uint4B
+0x038 CountOfOwnedCriticalSections : Uint4B
+0x03c CsrClientThread : Ptr32 Void
+0x040 Win32ThreadInfo : Ptr32 Void
+0x044 User32Reserved : [26] Uint4B
+0x0ac UserReserved : [5] Uint4B
+0x0c0 WOW32Reserved : Ptr32 Void
+0x0c4 CurrentLocale : Uint4B
+0x0c8 FpSoftwareStatusRegister : Uint4B
+0x0cc SystemReserved1 : [54] Ptr32 Void
+0x1a4 ExceptionCode : Int4B
……
……
没看到有价值的东西,楼下继续
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
TEB是在RING3下,FS[0]指向的。在RING0下,FS:[0]指向KPRC,其结构如下:
nt!_KPCR
+0x000 NtTib : _NT_TIB
+0x01c SelfPcr : Ptr32 _KPCR
+0x020 Prcb : Ptr32 _KPRCB
+0x024 Irql : UChar
+0x028 IRR : Uint4B
+0x02c IrrActive : Uint4B
+0x030 IDR : Uint4B
+0x034 KdVersionBlock : Ptr32 Void
+0x038 IDT : Ptr32 _KIDTENTRY
+0x03c GDT : Ptr32 _KGDTENTRY
+0x040 TSS : Ptr32 _KTSS
+0x044 MajorVersion : Uint2B
+0x046 MinorVersion : Uint2B
+0x048 SetMember : Uint4B
+0x04c StallScaleFactor : Uint4B
+0x050 DebugActive : UChar
+0x051 Number : UChar
+0x052 Spare0 : UChar
+0x053 SecondLevelCacheAssociativity : UChar
+0x054 VdmAlert : Uint4B
+0x058 KernelReserved : [14] Uint4B
+0x090 SecondLevelCacheSize : Uint4B
+0x094 HalReserved : [16] Uint4B
+0x0d4 InterruptMode : Uint4B
+0x0d8 Spare1 : UChar
+0x0dc KernelReserved2 : [17] Uint4B
+0x120 PrcbData : _KPRCB
所以+51h是number,好像是CPU个数,但是不确定。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
最主要是不知其作用,下面是NDIS中NdisGetReceivedPacket的代码:
NDIS!NdisGetReceivedPacket:
f7593f1a 8bff mov edi,edi
f7593f1c 55 push ebp
f7593f1d 8bec mov ebp,esp
f7593f1f 8b4508 mov eax,dword ptr [ebp+8]
f7593f22 8b4808 mov ecx,dword ptr [eax+8]
f7593f25 56 push esi
f7593f26 33f6 xor esi,esi
f7593f28 640fb60551000000 movzx eax,byte ptr fs:[51h]
f7593f30 8b550c mov edx,dword ptr [ebp+0Ch]
f7593f33 39948128030000 cmp dword ptr [ecx+eax*4+328h],edx
f7593f3a 750c jne NDIS!NdisGetReceivedPacket+0x2e (f7593f48)
f7593f3c 85d2 test edx,edx
f7593f3e 7408 je NDIS!NdisGetReceivedPacket+0x2e (f7593f48)
f7593f40 0fb7421e movzx eax,word ptr [edx+1Eh]
f7593f44 8b74103c mov esi,dword ptr [eax+edx+3Ch]
f7593f48 8bc6 mov eax,esi
f7593f4a 5e pop esi
f7593f4b 5d pop ebp
f7593f4c c20800 ret 8
这里用到FS:[51H]就不知其作用。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
刚才有看了一下DDK,这个FS:[51H]是处理器号。
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
谢谢LZ!!
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
原来如此..............
|
|
|