Подтвердить что ты не робот

Скрыть программу С# из диспетчера задач?

Есть ли способ скрыть программу С# из диспетчера задач Windows?

EDIT: Спасибо за подавляющий ответ! Ну, я не собирался делать что-то жуткий. Просто хотел выиграть пари с моим другом, что я могу сделать это, не заметив его. И я не выхожу из себя, чтобы писать руткит, поскольку кто-то предложил, хотя мне бы хотелось знать, как это сделать.

4b9b3361

Ответ 1

Не то, чтобы я знал - и не должно быть. Точка диспетчера задач позволяет пользователям просматривать процессы и т.д.

Если пользователь должен это сделать, они должны иметь возможность найти вашу программу. Если в диспетчере задач они не должны ковыряться, групповая политика должна помешать этому - не вашей программе.

Ответ 2

Не хочу зомбировать это, но я думал, что могу внести полезную информацию

Если вы хотите скрыть приложение, есть два метода (я могу думать об atm).

У них обоих есть взлеты и падения

[1] Захват таблицы SSDT. В основном вы должны установить MDL таблицы для записи, переписать адрес NtQuerySystemInformation (iirc) с адресом вашей функции и вызвать вызов исходная функция после фильтрации результатов.

Этот метод не очень подходит вашим потребностям, потому что функция hooking всегда должна быть в памяти и должна включать запись драйвера режима ядра. Его забавная работа, но отладка - боль, потому что исключение означает BSOD.

[2] Манипуляция с прямым ядром (DKOM) - список процессов - это список с двойной связью, с драйвером режима ядра вы можете изменить указатели записей выше и ниже вашего процесса на укажите вокруг себя. Это по-прежнему требует использования драйвера режима ядра, но есть руткиты, такие как FU, которые можно легко загрузить, которые содержат exe и службу. Exe может быть вызван изнутри вашего приложения в качестве дочернего процесса (в выпущенной версии FU, по крайней мере, той, которую я нашел, была ошибка, которую я должен был исправить там, где, если скрытое приложение вышло из компьютера, BSOD, это было тривиальное исправление).

Это, к счастью, поймает почти любой приличный антивирус, поэтому, если вы пытаетесь сделать что-то скрытое, вам придется научиться обходиться (подсказка: они используют двоичную подпись)

Я не использовал метод 1, но метод 2 работал у меня из приложения VB.Net.

Третий возможный вариант - просто создать приложение в качестве службы Windows, это будет отображаться в диспетчере задач по умолчанию, но я готов поспорить, что есть способ сказать, что он не появляется там, поскольку есть множество других сервисов, которые не отображаются в диспетчере задач.

Надеюсь, я немного помог, мой совет в том, что если вы интересуетесь такими вещами, чтобы изучать С++.

Ответ 3

Вы можете сделать свою программу службой, а затем она появится как "svchost". Там немного больше, чем это, но это должно дать вам намек, чтобы идти в правильном направлении.

Ответ 4

Я не знаю, как скрыть его от диспетчера задач, но вы можете просто скрыть его, указав его как "svchost.exe". Он будет сосредоточен со всеми остальными (обычно их несколько) и станет неразличимым.