EPROCESS 结构体中flag字段的解释

文章详细描述了在调试过程中遇到的EPROCESS结构体FLAGS字段的二进制解读,通过分析每个比特位的含义,揭示了DefaultIoPriority等标志位的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比如我在其中一次的调试过程中发现,一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值