연구 자료/포렌식

_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