Скрытие программы

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

Vozel

#1
Создал консольное приложение в VC++, как сделать, что бы его не было видно на рабочем столе (окошка), ни на панели с кнопкой пуск, ни в системном трее, ну если еще можно то и в запущенных сервисах.

Простите, если не туда написал или не так написал или тема уже была, просто я новичок на этом форуме и почти новичок в программировании
 

shisik

Well-known member
26.08.2007
154
0
#2
Самый лучший способ - создать dll и прицепить её к другому процессу через CreateRemoteThread(). Полезный код выделяешь в отдельный поток и запускаешь его из DllMain(). HANDLE процесса можно получить через ToolHelp функции.
Такая система работает следующим образом. Запускается exe-файл, который вызывает CreateRemoteThread() с хендлом чужого процесса. В качестве функции потока указывается LoadLibraryA() (извлекается из kernel32.dll с помощью функции GetProcAddress()), параметр - имя нашей dll (функция вызывается уже от имени чужого процесса). Затем exe-файл завершается, а dll остаётся в адресном пространстве чужого процесса. При вызове LoadLibraryA() в dll выполняется функция DllMain(), которая запускает ещё один поток, в котором и содержится нужный нам код.
В результате в системе присутствуют только "родные" процессы (ничего подозрительного), а dll можно обнаружить только с помощью специальных утилит, показывающих список используемых dll (среди стандартных средств Windows таких утилит нет) + пользователь должен знать имена dll и если свою назвать хитро, то он её может и не заметить...
 
V

Vozel

#3
Спасибо, но меня интересует именно консольное приложение, главное, чтобы не было видно его в трее, на панели с кнопкой пуск и на рабочем столе, в списке процессов может.

Update: программа для шпионства за моим компьютером
 

shisik

Well-known member
26.08.2007
154
0
#4
Не понимаю, зачем она должна быть именно консольной? Если можно оставить программу в списке задач - тогда совсем всё просто. Достаточно создать не-консольное приложение без окон :)
 
V

Vozel

#5
А как создать не консольное без окон, я в программировании почти новичек
 
Статус
Закрыто для дальнейших ответов.