有人可以解释PROCESS_EXTENDED_BASIC_INFORMATION
中所有这些位代表什么吗?
typedef struct _PROCESS_EXTENDED_BASIC_INFORMATION {
SIZE_T Size; // Ignored as input, written with structure size on output
PROCESS_BASIC_INFORMATION BasicInfo;
union {
ULONG Flags;
struct {
ULONG IsProtectedProcess : 1;
ULONG IsWow64Process : 1;
ULONG IsProcessDeleting : 1;
ULONG IsCrossSessionCreate : 1;
ULONG IsFrozen : 1;
ULONG IsBackground : 1;
ULONG IsStronglyNamed : 1;
ULONG IsSecureProcess : 1;
ULONG IsSubsystemProcess : 1;
ULONG SpareBits : 23;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
} PROCESS_EXTENDED_BASIC_INFORMATION, *PPROCESS_EXTENDED_BASIC_INFORMATION;
Microsoft在this article中显示了此struct
,但没有解释这些标记代表什么。
答案 0 :(得分:1)
以下是Microsoft可能不希望您使用的高度未记录的内容。这样做需要您自担风险。
PS。但是,你实际上有一个有趣的问题。所以仅适用于普通教育:
IsProtectedProcess (0x001)受系统保护的进程:其他进程无法读取/写入其VM或将远程线程注入其中。 (旧式。如果我没有误会,它可以从XP SP3开始使用。)
IsWow64Process (0x002)WOW64进程,或在64位Windows上运行的32位进程。
IsProcessDeleting (0x004)进程已终止,但是有一个打开的句柄 - 一个非常短暂的阶段。 (只有当你是内核驱动程序时才应该对你感兴趣。)
IsCrossSessionCreate (0x008)跨终端会话创建了进程。 Ex:请阅读CreateProcessAsUser了解详情。
IsFrozen (0x010)Immersive process已暂停(仅适用于UWP进程。)例如,如果用户将其移至后台或最小化,则可暂停沉浸式进程它。主要用于省电。 More info
IsBackground (0x020)沉浸式处理处于后台任务模式。 UWP流程可能会暂时切换为执行background task。主要用于省电。
IsStronglyNamed (0x040)UWP强名称进程。 UWP包经过数字签名。可以跟踪对包内文件的任何修改。 这通常意味着如果包签名被破坏,UWP应用程序将无法启动。
IsSecureProcess (0x080)Isolated User Mode进程 - Windows 10中的新安全模式,对可以“点击”此过程的内容有更严格的限制。
IsSubsystemProcess (0x100)当进程子系统的类型不是Win32时设置(如* NIX,如Ubuntu)。是的,你读得对,你可以{{ 3}}本地在Windows 10上。(run Linux,Ref1。)
PS2。我愿意接受更正,如果有的话......