将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);

相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...