-
-
[求助]监控进程退出 判断是自己退出 还是被其他进程终结问题
-
发表于:
2019-1-19 12:43
4163
-
[求助]监控进程退出 判断是自己退出 还是被其他进程终结问题
Hello 各位大佬,大神,周末好。
进程怎么退出 可以 Hook ZwTerminateProcess 及 设置PsSetCreateProcessNotifyRoutine 回调 来监控进程退出 及怎么退出
但我不想 Hook
ZwTerminateProcess 只想设置PsSetCreateProcessNotifyRoutine 回调 来监控进程。
通过查看W2K 源码 :
NtTerminateProcess -->
PspTerminateThreadByPointer-->KeInsertQueueApc--->PspExitThread-->PspExitProcess-->调用PsSetCreateProcessNotifyRoutine设置的回调
问题的点是,终结进程是通过插入apc到被终结的进程里,被终结的进程执行退出操作,被终结进程是在自己环境里退出的。所以在回调函数的环境里无法获取到,进程是怎么被终结的。
不过这里有两个点。
一:
终结进程 引用了 被终结进程的 EPROCESS ETHREAD的对象。是否可以通过对象去找终结进程。
二:
是否可以通过apc去找,终结进程。
或者还有其他的方法去找,终结进程。
望大神们指点迷津。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!