首页
社区
课程
招聘
[讨论]怎样得到自身进程的PID
发表于: 2007-9-20 11:58 5911

[讨论]怎样得到自身进程的PID

2007-9-20 11:58
5911
关于DDK的一个问题
我想挂钩SSDT 防止其他进程 使用 OpenProcess 打开我的进程
所以我想挂钩 NtOpenProcess 来做个判断

SYS我已经写好了..

过滤部分是
if(PID==(ULONG)PsGetCurrentProcessId())
{
      return 0;
}

但是我用 EXE 加载 我自己的SYS   PsGetCurrentProcessId() 得到的不是  加载方
的PID   

那我要应该怎么得到 自己的 PID呢?
谢谢了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
2
如果在DriverEntry内调用,得到的是system的,可以在ActiveProcessLink上找,
或者在ring3发起IRP_MJ_DEVICE_CONTROL时调用,或直接从ring3传过去
2007-9-20 12:12
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
用irp把自己的pid传给驱动,PsGetCurrentProcessId得到的是caller的pid
2007-9-21 12:51
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
4
学习
2007-9-21 15:51
0
雪    币: 248
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
只要不在DriverEntry里面调用就行了
2007-9-21 16:25
0
游客
登录 | 注册 方可回帖
返回
//