Windows进程描述符
对于进程的双链接列表,有一个Flink和Blink(前向链接和后向链接)。有一个进程标识符。所有这些都打包在一个结构中,该结构被引用为PEPROCESS或_KPROCESS。但是这些在哪里?这个结构中的其他元素是什么 或者,如果答案既不简短也不简单,如果文档或头文件中没有引用,那么在哪里可以找到引用?(这是我看过的地方,可能忽略了什么。) EPROCESS结构是不透明的 作为过程的结构 进程的对象 一些例行程序,例如 PsGetProcessCreateTimeQuadPart,使用 EPROCESS以识别要执行的流程 给…动手术。司机可以使用 PsGetCurrentProcess例程以获取 指向的进程对象的指针 当前进程,可以使用 ObjectReferenceObjectByHandle例程 获取指向进程对象的指针 与指定的 手柄PsInitialSystemProcess 全局变量指向进程 对象,用于系统进程 请注意,流程对象是一个 对象管理器对象。司机应该 使用对象管理器例程,例如 对象引用对象和 用于维护 对象的引用计数 这意味着,您不应该关心流程结构的成员是什么。尽管如此,仍有详细说明工艺结构布局的资料来源Windows进程描述符,windows,device-driver,kernel,Windows,Device Driver,Kernel,对于进程的双链接列表,有一个Flink和Blink(前向链接和后向链接)。有一个进程标识符。所有这些都打包在一个结构中,该结构被引用为PEPROCESS或_KPROCESS。但是这些在哪里?这个结构中的其他元素是什么 或者,如果答案既不简短也不简单,如果文档或头文件中没有引用,那么在哪里可以找到引用?(这是我看过的地方,可能忽略了什么。) EPROCESS结构是不透明的 作为过程的结构 进程的对象 一些例行程序,例如 PsGetProcessCreateTimeQuadPart,使用 EPROC
这篇文章更详细地描述了各个成员是什么 EPROCESS结构记录在windows调试符号中
当使用windbg连接到内核时,假设您已正确设置调试符号,发出命令“dt nt!\u EPROCESS”应为您提供特定于所连接内核版本的EPROCESS结构布局。EPROCESS结构特别不透明,只能在每次生成时找到,通过检查生成调试符号导出的数据类型 因此,您可以执行以下操作:
volatility
volatility
,如果您愿意的话李>
dt(“EPROCESS”)
事实上,我不能完全同意你关于“需要知道”的观点,因为好奇。再次感谢。