【问题标题】:how to get current process image path from mini-filter kernel driver?如何从微型过滤器内核驱动程序获取当前进程映像路径?
【发布时间】:2020-02-11 13:25:17
【问题描述】:

我想在我的微型过滤器内核驱动程序中获取当前进程路径。我可以使用PEPROCESS peProcess = IoGetCurrentProcess() 获取当前进程,并且可以使用ZwQueryInformationProcess 获取进程完整文件名(包含路径)。 但我只想获取路径(没有文件名)。 我使用 visualstudio 2019 和最新的 SDK/WDK。

【问题讨论】:

    标签: visual-studio driver wdk windows-kernel minifilter


    【解决方案1】:

    可能是这样的:

    ZwCreateFile(DesiredAccess=FILE_READ_ATTRIBUTES) → 文件句柄

    https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntcreatefile

    ZwQueryInformationFile(FileInformationClass=FileNameInformation) → FILE_NAME_INFORMATION 结构

    https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntqueryinformationfile

    "如果返回完整路径和文件名,字符串将开始 用一个反斜杠,不管它的位置。因此文件 C:\dir1\dir2\filename.ext 将显示为\dir1\dir2\filename.ext"

    https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntqueryinformationfile#remarks

    (然后你通过找到最后一个反斜杠去掉叶子文件名。)

    ZwClose(句柄)

    https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-zwclose

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 2016-02-14
      • 2013-09-22
      • 2019-02-23
      相关资源
      最近更新 更多