연구 자료/포렌식
_KPROCESS 구조체 정보
단디연구소
2016. 2. 5. 15:04
_KPROCESS 구조체 정보
0: kd> dt _KPROCESS
nt!_KPROCESS
+0x000 Header : _DISPATCHER_HEADER (디스패처 개체마다 가지고 있는 해더)
+0x010 ProfileListHead : _LIST_ENTRY
+0x018 DirectoryTableBase : Uint4B (프로세스별로 관리 되는 가상 메모리의 CR3 레지스터의 값을 저장)
+0x01c LdtDescriptor : _KGDTENTRY
+0x024 Int21Descriptor : _KIDTENTRY
+0x02c ThreadListHead : _LIST_ENTRY (프로세스가 가지고 있는 스레드 리스트를 가리킴)
+0x034 ProcessLock : Uint4B (EPROCESS 접근 시 사용 될 동기화 개체)
+0x038 Affinity : _KAFFINITY_EX (멀티 프로세서에서 이 프로세스가 즐겨 사용하는 선호 프로세서)
+0x044 ReadyListHead : _LIST_ENTRY (현재 준비 상태의 스레드 리스트)
+0x04c SwapListEntry : _SINGLE_LIST_ENTRY (현재 스와핑 되고 있는 스레드 리스트)
+0x050 ActiveProcessors : _KAFFINITY_EX (현재 활성된 프로세서 수)
+0x05c AutoAlignment : Pos 0, 1 Bit
+0x05c DisableBoost : Pos 1, 1 Bit (부스트 기능 비활성화 유무)
+0x05c DisableQuantum : Pos 2, 1 Bit (퀀텀 비활성화 유무, 비활성화 시 시스템 기본 퀀텀값으로 설정됨)
+0x05c ActiveGroupsMask : Pos 3, 1 Bit
+0x05c ReservedFlags : Pos 4, 28 Bits
+0x05c ProcessFlags : Int4B
+0x060 BasePriority : Char (기본 우선 순위)
+0x061 QuantumReset : Char (기본 퀀텀값)
+0x062 Visited : UChar
+0x063 Unused3 : UChar
+0x064 ThreadSeed : [1] Uint4B
+0x068 IdealNode : [1] Uint2B
+0x06a IdealGlobalNode : Uint2B
+0x06c Flags : _KEXECUTE_OPTIONS
+0x06d Unused1 : UChar
+0x06e IopmOffset : Uint2B
+0x070 Unused4 : Uint4B
+0x074 StackCount : _KSTACK_COUNT
+0x078 ProcessListEntry : _LIST_ENTRY (프로세스 리스트)
+0x080 CycleTime : Uint8B
+0x088 KernelTime : Uint4B (프로세스가 커널 레벨에서 사용된 시간)
+0x08c UserTime : Uint4B (프로세스가 유저 레벨에서 사용된 시간)
+0x090 VdmTrapcHandler : Ptr32 Void