EPROCESS 结构体中flag字段的解释

比如我在其中一次的调试过程中发现,一个EPROCESS结构体的FLAGS字段的值为144d0c01

转换成二进制形式就是下面这样

00 010 1 00010011010000 11 0000000001
10 987 6 54321098765432 10 9876543210

根据 dt nt!_EPROCESS ffffa90593ac85c0显示的结果,我推测出了每个比特位置的含义,有些标志位需要多个来进行表示

比如上面间隔出来的,27、28、29三个比特位010代表

DefaultIoPriority

如下所示

   +0x304 CreateReported   : 0y1                     
   +0x304 NoDebugInherit   : 0y0
   +0x304 ProcessExiting   : 0y0
   +0x304 ProcessDelete    : 0y0
   +0x304 ManageExecutableMemoryWrites : 0y0
   +0x304 VmDeleted        : 0y0
   +0x304 OutswapEnabled   : 0y0
   +0x304 Outswapped       : 0y0
   +0x304 FailFastOnCommitFail : 0y0
   +0x304 Wow64VaSpace4Gb  : 0y0
   +0x304 AddressSpaceInitialized : 0y11
   +0x304 SetTimerResolution : 0y0
   +0x304 BreakOnTermination : 0y0
   +0x304 DeprioritizeViews : 0y0
   +0x304 WriteWatch       : 0y0
   +0x304 ProcessInSession : 0y1
   +0x304 OverrideAddressSpace : 0y0
   +0x304 HasAddressSpace  : 0y1
   +0x304 LaunchPrefetched : 0y1
   +0x304 Background       : 0y0
   +0x304 VmTopDown        : 0y0
   +0x304 ImageNotifyDone  : 0y1
   +0x304 PdeUpdateNeeded  : 0y0
   +0x304 VdmAllowed       : 0y0
   +0x304 ProcessRundown   : 0y0
   +0x304 ProcessInserted  : 0y1
   +0x304 DefaultIoPriority : 0y010
   +0x304 ProcessSelfDelete : 0y0
   +0x304 SetTimerResolutionLink : 0y0

你可能感兴趣的:(算法)