c# – 监视系统中的进程启动

栏目: C# · 发布时间: 7年前

内容简介:有几种方法可以做到这一点.如果你只需要跟踪来自特定程序(或几个程序)的进程创建,那么这里提到的EasyHook / Detours方法可以很好地工作,但你实际上需要在CreateProcess上安装一个钩子到每个程序中,所以它不是一个如果要跟踪系统中的所有进程创建,这是一个很好的解决方案.在基于NT的Windows变体(NT / 2000 / XP / Vista)中有一个特定的API,称为PsSetCreateProcessNotifyRoutine().不幸的是,你只能从ring0调用这个函数,所以需要
有没有办法在系统启动前监控系统启动?

例:

在ZoneAlarm或防病毒程序等程序上,运行程序时会询问您是否允许在运行之前运行该程序…

有几种方法可以做到这一点.如果你只需要跟踪来自特定程序(或几个程序)的进程创建,那么这里提到的EasyHook / Detours方法可以很好地工作,但你实际上需要在CreateProcess上安装一个钩子到每个程序中,所以它不是一个如果要跟踪系统中的所有进程创建,这是一个很好的解决方案.

在基于NT的Windows变体(NT / 2000 / XP / Vista)中有一个特定的API,称为PsSetCreateProcessNotifyRoutine().不幸的是,你只能从ring0调用这个函数,所以需要在驱动程序中完成.这个CodeProject文章中有一个方便的解释(和代码): http://www.codeproject.com/KB/threads/procmon.aspx .

AFAIK,这只是一个通知,它本身不允许您告诉系统是否应该创建该进程.但是,如果您需要这样做,您可以暂停该过程(例如,通过将其作为调试器附加),同时您的代码决定是否要将其终止.

翻译自:https://stackoverflow.com/questions/293624/monitor-process-start-in-the-system


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Visual Thinking

Visual Thinking

Colin Ware / Morgan Kaufmann / 2008-4-18 / USD 49.95

Increasingly, designers need to present information in ways that aid their audiences thinking process. Fortunately, results from the relatively new science of human visual perception provide valuable ......一起来看看 《Visual Thinking》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码