对于双链接进程列表,存在Flink和Blink(前向链接和后向链接)。有一个进程标识符。所有这些都打包在一个引用为PEPROCESS或_KPROCESS的结构中。但是这些结构在哪里以及其他元素是什么?
或者,如果答案既不简短也不简单,如果不在文档或头文件中,哪里可以找到引用? (这是我看过的地方,可能忽略了一些东西。)
答案 0 :(得分:2)
EPROCESS结构是不透明的 作为过程的结构 一个过程的对象。
一些例程,例如 PsGetProcessCreateTimeQuadPart,使用 EPROCESS识别流程 操作。司机可以使用 PsGetCurrentProcess例程获取 指向进程对象的指针 目前的流程可以使用了 ObReferenceObjectByHandle例程 获取指向进程对象的指针 与指定的相关联 处理。 PsInitialSystemProcess 全局变量指向该过程 系统过程的对象。
请注意,进程对象是一个 对象管理器对象。司机应该 使用对象管理器例程,如 ObReferenceObject和 ObDereferenceObject维护 对象的引用计数。
这意味着,您不应该关心流程结构的成员。然而,有一些资料详细说明了工艺结构的布局。
此book更详细地描述了各个成员的身份。
答案 1 :(得分:0)
EPROCESS结构记录在windows调试符号中。
使用windbg连接到内核时,假设您已正确设置调试符号,发出命令“dt nt!_EPROCESS”应该为您提供特定于您附加到的内核版本的EPROCESS结构的布局
答案 2 :(得分:0)