一尘不染

如何在C#中的“任务管理器”中隐藏进程?

c#

我需要在任务管理器中隐藏一个进程。它用于Intranet方案。因此,一切都是合法的。:)

请随时分享您拥有的任何代码(最好是C#)或任何其他技术,或与此路线有关的任何问题。

Update1
:大多数用户具有管理员权限才能运行某些旧版应用程序。因此,建议之一是将其隐藏在任务管理器中。如果还有其他方法可以防止用户终止该进程,那就太好了。

Update2 :删除对rootkit的引用。不知何故使这篇文章看起来很消极。


阅读 661

收藏
2020-05-19

共1个答案

一尘不染

没有支持的方法来完成此操作。可以以任何特权级别读取进程列表。如果您希望甚至对Administrators都隐藏一个进程,那么双重支持。

为了使它起作用,您需要编写一个内核模式rootkit来拦截对NtQuerySystemInformation的调用,以使SystemProcessInformation信息类无法列出您的隐藏进程。

安全地拦截系统调用非常困难,并且64位Windows内核竭尽全力防止这种情况的发生:尝试修改syscall表会立即显示蓝屏。在那些平台上这将非常困难

是一个试图做类似事情的Rootkit的例子(有几个严重的问题)。

2020-05-19