gpt4 book ai didi

windows - 将 ProcessID 转换为进程句柄

转载 作者:可可西里 更新时间:2023-11-01 10:36:09 24 4
gpt4 key购买 nike

我正在尝试为监控进程编写基本驱动程序并获取进程路径。
我创建 PsSetCreateProcessNotifyRoutine 并使用 ZwQueryInformationProcess
检索进程信息但是在我的 ProcessCallback 函数中,当我尝试使用 NtCurrentProcess 获取当前进程 HANDLE 时,它会给我运行另一个进程的当前进程。

例如:

i try to run myProgram.exe in c:\,when i go to C:\ using windows explorer and run myProgram.exe my driver give me explorer.exe path because myProgram.exe run inside explorer.exe

我的 ProcessCallback header 中有 processID

void ProcessCallback(
IN HANDLE hParentId,
IN HANDLE hProcessId,
IN BOOLEAN bCreate
)

.我可以将它转换为进程句柄吗?

最佳答案

感谢大家的宝贵意见最后我用下面的代码解决了我的问题

HANDLE proc = NULL;
OBJECT_ATTRIBUTES obj_attr;
CLIENT_ID cid;

cid.UniqueProcess= hProcessId; //PsGetCurrentProcessId();
cid.UniqueThread= NULL ; //(HANDLE)0;
InitializeObjectAttributes(&obj_attr,NULL, 0, NULL, NULL);
ZwOpenProcess(&proc, PROCESS_ALL_ACCESS, &obj_attr, &cid);

关于windows - 将 ProcessID 转换为进程句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25525338/

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