Как запустить программу невидимой для системы?

  • Автор темы Glorius
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Glorius

#1
Как запустить программу невидимой для системы? Чтобы в диспетчере задач на закладке "Приложения" моя программа была не видна.
 
B

Barmutik

#2
Сделайте её сервисом .. если необходимо скрыть только на закладке Приложения...
 
B

Barmutik

#4
Создавайте не обычное Windows приложение а service-приложение
 

shisik

Well-known member
26.08.2007
154
0
#7
Может это уже и неактуально, но всё равно напишу. Вдруг, кому-то ещё понадобится...
Самый лучший способ невидимого запуска - это присоединение своей DLL к чужому процессу. Для этого нужно использовать функцию CreateRemoteThread, отличающуюся от CreateThread лишь первым параметром - HANDLE процесса, к которому мы хотим подключиться. HANDLE можно получить через ToolHelp32 - функции.
В функции этого потока (расположенной в EXE) нужно написать LoadLibrary с именем нашей DLL. А дальше пишем как обыкновенное приложение, где вместо входной функции main (WinMain) будет DllMain.
Всё. После завершения EXE, подключающего нашу DLL к другому процессу, DLL остаётся работать и уже никто и ничто не способно её обнаружить ;)
Жаль, таким способом нельзя к winlogon.exe подключаться :unsure:
 
B

Barmutik

#8
Для: shisik

Насчёт никто это громко сказано .. все известные антивирусные\спайварные проги перехватывают эти команды и как минимум логируют такие действия .. так что при желании достаточно просто её найти.

Опять же перехват LoadLibrary даст возможность отследить какие библиотеки (не системные) груились в процесс и соотнеся этих два факта можно отследить несанкционированную работу чужого кода.
 
Z

zubr

#9
Согласен с Barmutik
Гораздо надежнее в таких случаях (имеется в виду не умение антивирусами определять подобные действия) это перехват API-функций, причем на уровне ядра (из драйвера). Но в любом случае для установки на компе подобной хрени потребуются привелегии админа в системе.
 

shisik

Well-known member
26.08.2007
154
0
#10
<!--QuoteBegin-Barmutik+29:08:2007, 07:06 -->
<span class="vbquote">(Barmutik @ 29:08:2007, 07:06 )</span><!--QuoteEBegin-->Насчёт никто это громко сказано .. все известные антивирусные\спайварные проги перехватывают эти команды и как минимум логируют такие действия .. так что при желании достаточно просто её найти.[/quote]
Какие такие действия? CreateRemoteThread? Так обычный CreateThread реализован в Win 2k через CreateRemoteThread(GetCurrentProcess(), ...). Они запарятся отлавливать и логировать все вызовы этой функции ;)
Кстати говоря, LoadLibrary это тоже касается, т.к. функция довольно широко применяется.
<!--QuoteBegin-zubr+29:08:2007, 08:49 -->
<span class="vbquote">(zubr @ 29:08:2007, 08:49 )</span><!--QuoteEBegin-->Но в любом случае для установки на компе подобной хрени потребуются привелегии админа в системе.[/quote]
К сожалению, большинство пользователей с этими самыми привилегиями и сидят ;) Мало кто утруждает себя созданием пользователей с ограниченными правами...

Хотя, про "никто и ничто" я действительно погорячился ;)
 
Статус
Закрыто для дальнейших ответов.