Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows进程描述符_Windows_Device Driver_Kernel - Fatal编程技术网

Windows进程描述符

Windows进程描述符,windows,device-driver,kernel,Windows,Device Driver,Kernel,对于进程的双链接列表,有一个Flink和Blink(前向链接和后向链接)。有一个进程标识符。所有这些都打包在一个结构中,该结构被引用为PEPROCESS或_KPROCESS。但是这些在哪里?这个结构中的其他元素是什么 或者,如果答案既不简短也不简单,如果文档或头文件中没有引用,那么在哪里可以找到引用?(这是我看过的地方,可能忽略了什么。) EPROCESS结构是不透明的 作为过程的结构 进程的对象 一些例行程序,例如 PsGetProcessCreateTimeQuadPart,使用 EPROC

对于进程的双链接列表,有一个Flink和Blink(前向链接和后向链接)。有一个进程标识符。所有这些都打包在一个结构中,该结构被引用为PEPROCESS或_KPROCESS。但是这些在哪里?这个结构中的其他元素是什么

或者,如果答案既不简短也不简单,如果文档或头文件中没有引用,那么在哪里可以找到引用?(这是我看过的地方,可能忽略了什么。)

EPROCESS结构是不透明的 作为过程的结构 进程的对象

一些例行程序,例如 PsGetProcessCreateTimeQuadPart,使用 EPROCESS以识别要执行的流程 给…动手术。司机可以使用 PsGetCurrentProcess例程以获取 指向的进程对象的指针 当前进程,可以使用 ObjectReferenceObjectByHandle例程 获取指向进程对象的指针 与指定的 手柄PsInitialSystemProcess 全局变量指向进程 对象,用于系统进程

请注意,流程对象是一个 对象管理器对象。司机应该 使用对象管理器例程,例如 对象引用对象和 用于维护 对象的引用计数

这意味着,您不应该关心流程结构的成员是什么。尽管如此,仍有详细说明工艺结构布局的资料来源


这篇文章更详细地描述了各个成员是什么

EPROCESS结构记录在windows调试符号中


当使用windbg连接到内核时,假设您已正确设置调试符号,发出命令“dt nt!\u EPROCESS”应为您提供特定于所连接内核版本的EPROCESS结构布局。

EPROCESS结构特别不透明,只能在每次生成时找到,通过检查生成调试符号导出的数据类型

因此,您可以执行以下操作:

  • 下载
    volatility
  • 在他们的一个示例内存转储或您自己的转储上运行
    volatility
    ,如果您愿意的话
  • 使用volshell.py插件,运行

    dt(“EPROCESS”)

  • 这将在Windows内核中生成EPROCESS结构和各种其他结构的输出

    或者你可以只看到结构内容


    事实上,我不能完全同意你关于“需要知道”的观点,因为好奇。再次感谢。