c# - 使用 .NET 代码防止进程产生

标签 c# winapi process hook

我记得很久以前在 I think CodeProject 上看到一篇关于防病毒或反恶意软件的文章,有人在写他 Hook 到 Windows API 的地方,以便能够在新进程启动时捕获并提示他之前的用户允许进程开始。

我再也找不到这篇文章了,实际上我希望能够实现这样的东西。目前,我们有一个基于 Gecko 的自定义浏览器,我们已经根据内部员工安全级别等集成了对站点的访问限制。我们阻止任何其他浏览器使用计时器运行并从我们不允许的浏览器列表。

我们想要完成的是,而不是仅仅阻止这些浏览器,在其他浏览器启动和它被我们的服务杀死之间有一个小的延迟,我们希望能够显示一个对话框而不是进程启动,解释该程序不在允许列表中。通过这种方式,我们可以生成一个“允许”进程的列表并阻止所有其他进程(我们还没有遇到安装外部应用程序的问题,但您永远不能太小心)。

不幸的是,我们并没有从 C# 进行很多 Windows API 编程,所以我不确定从哪里开始寻找我们需要 Hook 的调用。

即使只是阅读内容的起点也会有所帮助。

最佳答案

关于c# - 使用 .NET 代码防止进程产生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2521445/

相关文章:

c - 在 Windows 上使用 gcc 编译时对 'CreateSemaphoreEx' 的 undefined reference

c++ - 如何检查我的当前窗口是否是最可见的窗口

c - 为什么在成为孤立进程组时未收到 SIGHUP 信号

vbscript - 使用VBS获取进程路径

multithreading - 用户级线程会利用多处理吗?

c# - 使用 System.Web.Mail 在 C# 中设置电子邮件附件名称

c# - 将 "chained process"固定到任务栏

c# - 从性能的角度来看,ExpandoObject 与 Dictionary?

c++ - 设置透明窗口

c# - 单击 Blazor 中的顶部导航链接时滚动到页面的指定部分