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

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

内容简介:有几种方法可以做到这一点.如果你只需要跟踪来自特定程序(或几个程序)的进程创建,那么这里提到的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


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

查看所有标签

猜你喜欢:

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

网络共和国

网络共和国

[美] 凯斯·桑斯坦 / 黄维明 / 上海人民出版社 / 2003-6-1 / 15.00元

本书主要讨论网络中的民主问题。网络技术已经深刻地影响了我们的生活,我们随时可以获得我们需要的信息,我们也随时可以与别人联系,那么网络技术是不是就是民主的福音呢?作者回答说不,他认为通过网络人们更容易获得的是自己喜欢的信息,而拒绝接受自己不喜欢的信息,事实上人们得到的是窄化的信息,很多的网站也不和与自己立场相反的网站链接。而在一个真正的民主的环境中,信息应是多元的并且不是我们事先选择的,在其中我们还......一起来看看 《网络共和国》 这本书的介绍吧!

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

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器