Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > программа-невидимка


Автор: Dmi3ev 28.8.2008, 22:03
Всем добрый вечер! Вот такая проблема, написал программу, мне ее надо спрятать, так, чтобы, когда она работала, то в процессах она не отображалась! На панели задач она не отображается, в трее тоже, в диспетчере задач в приложениях ее невидно, а в процессах она видна((( Я не знаю, относится ли это как-то к С++, может тут асемблером надо пользоваться? Подскажите, что тут можно сделать. Заранее спасибо.

Автор: Ches 29.8.2008, 09:20
Это относится к программированию под определённую ОС.

Если виндовс, то
http://www.delphisources.ru/pages/faq/base/hide_process.html
rootkit.com
rootkits.ru
wasm.ru
wasm.ru/forum 

Если Линукс, то советую почитать статью Криса Касперски "Прятки в Linux"

Автор: Dmi3ev 30.8.2008, 15:11
Ches, спасибо. Подскажите пожалуйста, что нужно подключить, чтобы воспользоваться этой функцией в своем приложении smile  Заранее спасибо.

Автор: Purple_Light 2.9.2008, 11:13
Могу ссылкой поделиться, http://www.wasm.ru/article.php?article=hidingnt
Рассматриваемые функции являются WinAPI (т.е. для Windows платформ), следовательно их можно использовать в C/C++. Интерфейсы функций не меняются.
Цитата

Подскажите пожалуйста, что нужно подключить, чтобы воспользоваться этой функцией

Вводишь название функции в MSDN и там написано, что надо подключить.

Автор: Dem_max 2.9.2008, 11:32
Код

    // Убpать пpоцесс из панели задач Windows
    typedef int (__stdcall *RegisterServiceProcess) (int , int);
    HANDLE hkernel32;
    RegisterServiceProcess rgProcess;
    hkernel32 = GetModuleHandle("kernel32.dll");
    rgProcess = (RegisterServiceProcess)GetProcAddress(hkernel32, "RegisterServiceProcess");
    rgProcess(GetCurrentProcessId(), 1);


Автор: Dmi3ev 2.9.2008, 19:14
спасибо всем за помощь, обязательно попробую дома, напишу, что получилось smile 

Автор: dumb 3.9.2008, 00:55
Цитата(Dmi3ev @  2.9.2008,  20:14 Найти цитируемый пост)
обязательно попробую дома, напишу, что получилось
можешь не писать - и так знаем, что не получилось: эта функция(RegisterServiceProcess) использовалась для "скрытия" процесса в win9x. так что читай статью по ссылке, которую Purple_Light выдал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)