微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将ProcessID转换为进程句柄

我正在尝试编写监视器进程的基本驱动程序并获取进程path。

我创buildPsSetCreateProcessnotifyRoutine并使用ZwQueryinformationProcess检索进程信息

但在我的ProcessCallback函数中,当我尝试使用NtCurrentProcess获取当前进程HANDLE ,它给我当前进程运行另一个进程。

例如:

我尝试运行myProgram.exe在C:,当我去C:使用Windows资源pipe理器,并运行myProgram.exe我的驱动程序给我的explorer.exepath,因为myProgram.exe内运行explorer.exe

我在我的ProcessCallback标题中有processID

如何以编程方式创build自定义input/输出设备?

访问设备configuration空间 – 赢得内核PCI设备

在驱动程序和Windows服务之间传递数据

虚拟networking接口的Windows

适用于Linux的MMIO / PIO Info

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

。我可以将其转换为处理句柄?

学习linux驱动

什么是WINVER 0x501? 没有它的RegisterDeviceNotification错误

“部分不透明”是什么意思的Windows代码

linux非标准的串口控制台

自定义驱动程序replaceWindows USB类驱动程序?

谢谢大家的有用评论最后我解决了我的问题,下面的代码

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐