登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 59|回复: 0

驱动开发与系统原理-内核中的进程结构体

[复制链接]

80

主题

-6

回帖

79

积分

网站编辑

积分
79
发表于 2025-4-5 22:18:38 | 显示全部楼层 |阅读模式

进程其实就是一块内存,被结构体修饰(EPROCESS)

32位的系统内存为4GB

64位的系统内存为256T(48位,并不是64位)

3环空间128T,0环空间128T

KPROCESS


        ntdll!_KPROCESS
           +0x000 Header           : _DISPATCHER_HEADER   //事件等待
           +0x010 ProfileListHead  : _LIST_ENTRY          //性能统计
           +0x018 DirectoryTableBase : Uint4B             //CR3
           +0x01c LdtDescriptor    : _KGDTENTRY           //LDT
           +0x024 Int21Descriptor  : _KIDTENTRY
           +0x02c ThreadListHead   : _LIST_ENTRY          //本进程中的所有线程
           +0x034 ProcessLock      : Uint4B               //进程锁
           +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                 //6个时间片后切换进程
           +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

EPROCESS


      ntdll!_EPROCESS
         +0x000 Pcb              : _KPROCESS
         +0x098 ProcessLock      : _EX_PUSH_LOCK                  //进程锁
         +0x0a0 CreateTime       : _LARGE_INTEGER                 //进程创建时间
         +0x0a8 ExitTime         : _LARGE_INTEGER                 //进程退出时间
         +0x0b0 RundownProtect   : _EX_RUNDOWN_REF
         +0x0b4 UniqueProcessId  : Ptr32 Void                      //进程ID
         +0x0b8 ActiveProcessLinks : _LIST_ENTRY                   //进程链表
         +0x0c0 ProcessQuotaUsage : [2] Uint4B
         +0x0c8 ProcessQuotaPeak : [2] Uint4B
         +0x0d0 CommitCharge     : Uint4B
         +0x0d4 QuotaBlock       : Ptr32 _EPROCESS_QUOTA_BLOCK
         +0x0d8 CpuQuotaBlock    : Ptr32 _PS_CPU_QUOTA_BLOCK
         +0x0dc PeakVirtualSize  : Uint4B
         +0x0e0 VirtualSize      : Uint4B
         +0x0e4 SessionProcessLinks : _LIST_ENTRY                   //当前用户的所有进程
         +0x0ec DebugPort        : Ptr32 Void                       //调试端口
         +0x0f0 ExceptionPortData : Ptr32 Void 
         +0x0f0 ExceptionPortValue : Uint4B
         +0x0f0 ExceptionPortState : Pos 0, 3 Bits
         +0x0f4 ObjectTable      : Ptr32 _HANDLE_TABLE                                 
         +0x0f8 Token            : _EX_FAST_REF                     //权限描述  
         +0x0fc WorkingSetPage   : Uint4B                           //使用了多少个物理页
         +0x100 AddressCreationLock : _EX_PUSH_LOCK
         +0x104 RotateInProgress : Ptr32 _ETHREAD
         +0x108 ForkInProgress   : Ptr32 _ETHREAD
         +0x10c HardwareTrigger  : Uint4B
         +0x110 PhysicalVadRoot  : Ptr32 _MM_AVL_TABLE
         +0x114 CloneRoot        : Ptr32 Void
         +0x118 NumberOfPrivatePages : Uint4B
         +0x11c NumberOfLockedPages : Uint4B
         +0x120 Win32Process     : Ptr32 Void                   
         +0x124 Job              : Ptr32 _EJOB
         +0x128 SectionObject    : Ptr32 Void
         +0x12c SectionBaseAddress : Ptr32 Void
         +0x130 Cookie           : Uint4B                           
         +0x134 Spare8           : Uint4B                                             
         +0x138 WorkingSetWatch  : Ptr32 _PAGEFAULT_HISTORY    
         +0x13c Win32WindowStation : Ptr32 Void
         +0x140 InheritedFromUniqueProcessId : Ptr32 Void             //父进程ID
         +0x144 LdtInformation   : Ptr32 Void
         +0x148 VdmObjects       : Ptr32 Void
         +0x14c ConsoleHostProcess : Uint4B                           //控制台句柄
         +0x150 DeviceMap        : Ptr32 Void
         +0x154 EtwDataSource    : Ptr32 Void
         +0x158 FreeTebHint      : Ptr32 Void
         +0x160 PageDirectoryPte : _HARDWARE_PTE_X86
         +0x160 Filler           : Uint8B
         +0x168 Session          : Ptr32 Void
         +0x16c ImageFileName    : [15] UChar                          //进程名
         +0x17b PriorityClass    : UChar
         +0x17c JobLinks         : _LIST_ENTRY
         +0x184 LockedPagesList  : Ptr32 Void
         +0x188 ThreadListHead   : _LIST_ENTRY                         //线程链表
         +0x190 SecurityPort     : Ptr32 Void
         +0x194 PaeTop           : Ptr32 Void
         +0x198 ActiveThreads    : Uint4B
         +0x19c ImagePathHash    : Uint4B
         +0x1a0 DefaultHardErrorProcessing : Uint4B
         +0x1a4 LastThreadExitStatus : Int4B
         +0x1a8 Peb              : Ptr32 _PEB
         +0x1ac PrefetchTrace    : _EX_FAST_REF
         +0x1b0 ReadOperationCount : _LARGE_INTEGER
         +0x1b8 WriteOperationCount : _LARGE_INTEGER
         +0x1c0 OtherOperationCount : _LARGE_INTEGER
         +0x1c8 ReadTransferCount : _LARGE_INTEGER
         +0x1d0 WriteTransferCount : _LARGE_INTEGER
         +0x1d8 OtherTransferCount : _LARGE_INTEGER
         +0x1e0 CommitChargeLimit : Uint4B
         +0x1e4 CommitChargePeak : Uint4B
         +0x1e8 AweInfo          : Ptr32 Void
         +0x1ec SeAuditProcessCreationInfo : _SE_AUDIT_PROCESS_CREATION_INFO
         +0x1f0 Vm               : _MMSUPPORT
         +0x25c MmProcessLinks   : _LIST_ENTRY
         +0x264 HighestUserAddress : Ptr32 Void
         +0x268 ModifiedPageCount : Uint4B
         +0x26c Flags2           : Uint4B
         +0x26c JobNotReallyActive : Pos 0, 1 Bit
         +0x26c AccountingFolded : Pos 1, 1 Bit
         +0x26c NewProcessReported : Pos 2, 1 Bit
         +0x26c ExitProcessReported : Pos 3, 1 Bit
         +0x26c ReportCommitChanges : Pos 4, 1 Bit
         +0x26c LastReportMemory : Pos 5, 1 Bit
         +0x26c ReportPhysicalPageChanges : Pos 6, 1 Bit
         +0x26c HandleTableRundown : Pos 7, 1 Bit
         +0x26c NeedsHandleRundown : Pos 8, 1 Bit
         +0x26c RefTraceEnabled  : Pos 9, 1 Bit
         +0x26c NumaAware        : Pos 10, 1 Bit
         +0x26c ProtectedProcess : Pos 11, 1 Bit
         +0x26c DefaultPagePriority : Pos 12, 3 Bits
         +0x26c PrimaryTokenFrozen : Pos 15, 1 Bit
         +0x26c ProcessVerifierTarget : Pos 16, 1 Bit
         +0x26c StackRandomizationDisabled : Pos 17, 1 Bit
         +0x26c AffinityPermanent : Pos 18, 1 Bit
         +0x26c AffinityUpdateEnable : Pos 19, 1 Bit
         +0x26c PropagateNode    : Pos 20, 1 Bit
         +0x26c ExplicitAffinity : Pos 21, 1 Bit
         +0x270 Flags            : Uint4B
         +0x270 CreateReported   : Pos 0, 1 Bit
         +0x270 NoDebugInherit   : Pos 1, 1 Bit
         +0x270 ProcessExiting   : Pos 2, 1 Bit
         +0x270 ProcessDelete    : Pos 3, 1 Bit
         +0x270 Wow64SplitPages  : Pos 4, 1 Bit
         +0x270 VmDeleted        : Pos 5, 1 Bit
         +0x270 OutswapEnabled   : Pos 6, 1 Bit
         +0x270 Outswapped       : Pos 7, 1 Bit
         +0x270 ForkFailed       : Pos 8, 1 Bit
         +0x270 Wow64VaSpace4Gb  : Pos 9, 1 Bit
         +0x270 AddressSpaceInitialized : Pos 10, 2 Bits
         +0x270 SetTimerResolution : Pos 12, 1 Bit
         +0x270 BreakOnTermination : Pos 13, 1 Bit
         +0x270 DeprioritizeViews : Pos 14, 1 Bit
         +0x270 WriteWatch       : Pos 15, 1 Bit
         +0x270 ProcessInSession : Pos 16, 1 Bit
         +0x270 OverrideAddressSpace : Pos 17, 1 Bit
         +0x270 HasAddressSpace  : Pos 18, 1 Bit
         +0x270 LaunchPrefetched : Pos 19, 1 Bit
         +0x270 InjectInpageErrors : Pos 20, 1 Bit
         +0x270 VmTopDown        : Pos 21, 1 Bit
         +0x270 ImageNotifyDone  : Pos 22, 1 Bit
         +0x270 PdeUpdateNeeded  : Pos 23, 1 Bit
         +0x270 VdmAllowed       : Pos 24, 1 Bit
         +0x270 CrossSessionCreate : Pos 25, 1 Bit
         +0x270 ProcessInserted  : Pos 26, 1 Bit
         +0x270 DefaultIoPriority : Pos 27, 3 Bits
         +0x270 ProcessSelfDelete : Pos 30, 1 Bit
         +0x270 SetTimerResolutionLink : Pos 31, 1 Bit
         +0x274 ExitStatus       : Int4B
         +0x278 VadRoot          : _MM_AVL_TABLE
         +0x298 AlpcContext      : _ALPC_PROCESS_CONTEXT
         +0x2a8 TimerResolutionLink : _LIST_ENTRY
         +0x2b0 RequestedTimerResolution : Uint4B
         +0x2b4 ActiveThreadsHighWatermark : Uint4B
         +0x2b8 SmallestTimerResolution : Uint4B
         +0x2bc TimerResolutionStackRecord : Ptr32 _PO_DIAG_STACK_RECORD
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|断点社区 |网站地图

GMT+8, 2025-4-19 18:48 , Processed in 0.104187 second(s), 23 queries , Yac On.

Powered by XiunoBBS

Copyright © 2001-2025, 断点社区.

快速回复 返回顶部 返回列表