gpt4 book ai didi

windows - 在驱动程序级别检索进程的命令行参数

转载 作者:可可西里 更新时间:2023-11-01 09:46:02 26 4
gpt4 key购买 nike

你好,我正在编写一个 minifilter 驱动程序来拦截来自某个进程的所有 irp 数据包,比如 a.exe。

因此,在驱动程序代码中,可以通过对启动进程的命令行参数应用检查来完成。

有谁知道如何检索命令行参数??

提前致谢。

最佳答案

没有受支持的方法可以在内核模式中执行此操作。事实上,试图从内核访问用户模式进程信息通常是一件痛苦的事情。我建议向用户模式服务发出请求,然后它可以找到该信息并将其传递回您的内核组件。

但是,有一个未记录的方法可以做到这一点。如果你能得到 EPROCESS 的句柄目标进程的结构,您可以获得指向 PEB 的指针(进程环境 block )其中的结构,然后有一个指向 RTL_USER_PROCESS_PARAMETERS 的指针结构,它有一个名为 CommandLine 的成员。

例子:

UNICODE_STRING* commandLine = epProcess->Peb->ProcessParameters->CommandLine;

这样做的缺点是 EPROCESS 几乎是完全不透明的,而 PEB 也是半透明的,这意味着它可能会在未来的 Windows 版本中发生变化。我当然不会提倡在生产代码中尝试这样做。

关于windows - 在驱动程序级别检索进程的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10915897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com