【问题标题】:How to enumerate all opened handles of specified process in kernel (Windows)如何枚举内核中指定进程的所有打开句柄(Windows)
【发布时间】:2012-10-14 16:25:03
【问题描述】:

我有一个内核驱动程序。如何枚举内核驱动程序中指定进程的所有打开句柄?我想关闭这些句柄。

谢谢!

【问题讨论】:

  • 你试过process explorer吗?
  • @AlexeyFrunze:我假设他想在他的内核驱动程序中编写代码来枚举指定进程的所有句柄。
  • @Gabe 可能是,但我们不确定。顺便说一句,驱动程序是否应该能够跟踪设备打开,因为它应该接收打开调用?
  • 危险。它可能会在管道和邮槽上停止。
  • 更不用说随机破坏文件了:stackoverflow.com/a/2611885/17034

标签: c windows kernel handle


【解决方案1】:

我想关闭这些句柄。

对于它的价值,仅仅因为某事可以做,并不意味着它应该做。这是个坏主意。

也就是说,可以使用信息类SystemHandleInformationZw/NtQuerySystemInformation 的未记录调用来枚举所有进程的所有句柄。使用这些术语进行网络搜索会产生您想要的结果。

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多