首页
社区
课程
招聘
[求助]监控进程退出 判断是自己退出 还是被其他进程终结问题
发表于: 2019-1-19 12:43 4163

[求助]监控进程退出 判断是自己退出 还是被其他进程终结问题

2019-1-19 12:43
4163
Hello  各位大佬,大神,周末好。
进程怎么退出 可以 Hook   ZwTerminateProcess 及 设置PsSetCreateProcessNotifyRoutine 回调 来监控进程退出 及怎么退出
但我不想 Hook    ZwTerminateProcess  只想设置PsSetCreateProcessNotifyRoutine 回调 来监控进程。

通过查看W2K 源码 :
NtTerminateProcess --> PspTerminateThreadByPointer-->KeInsertQueueApc--->PspExitThread-->PspExitProcess-->调用PsSetCreateProcessNotifyRoutine设置的回调


问题的点是,终结进程是通过插入apc到被终结的进程里,被终结的进程执行退出操作,被终结进程是在自己环境里退出的。所以在回调函数的环境里无法获取到,进程是怎么被终结的。

不过这里有两个点。
一:
      终结进程 引用了 被终结进程的 EPROCESS  ETHREAD的对象。是否可以通过对象去找终结进程。
二:
     是否可以通过apc去找,终结进程。
或者还有其他的方法去找,终结进程。

望大神们指点迷津。
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 12848
活跃值: (9143)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
hook KeInsertQueueApc
2019-1-19 14:53
0
雪    币: 908
活跃值: (169)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
哥 还不如 hook ZwTerminateProcess 简单  有没有查询的思路  
2019-1-19 16:16
0
雪    币: 12848
活跃值: (9143)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
花弄影h 哥 还不如 hook ZwTerminateProcess 简单 有没有查询的思路
没有
2019-1-19 17:26
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
NtTerminateProcess  需要打开进程 并拥有 PROCESS_TERMINATE权限 在Object callback 拦截
2019-1-20 16:36
0
雪    币: 908
活跃值: (169)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
小艾 NtTerminateProcess 需要打开进程 并拥有 PROCESS_TERMINATE权限 在Object callback 拦截
这并不准确  最合适的  还是  hook keinsertapc  看了一下  对象结构  是有保存  引用这个对象的  对象指针  能没有找到接口函数去获取
2019-1-21 03:20
0
游客
登录 | 注册 方可回帖
返回
//