Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

14.01.2007, 20:30
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
AppToService
Кто-то спрашивал как сделать, чтобы консольное окно программы не мозолило глаза...
Сегодня поднял старую подшивку Хакера и нарвался на это (отрывок):
В тексте статьи остался один нераскрытый вопрос: как замаскировать BNC и windrop в чужой Windows-системе? Понятно, что оставлять консольное окошко с работающим приложением нельзя, так как его сразу заметит пользователь. Самый простой выход из этой ситуации — запустить приложение как сервис, тем самым мы убьем сразу двух зайцев. Во-первых, приложение легко затеряется среди многочисленных служб винды, в которых обычный пользователь никогда не станет копаться. А во-вторых, с умом обеспечим автоматический запуск проги во время запуска системы, на случай, если компьютер будет перезагружен или выключен. Единственная проблема заключается в том, что по умолчанию возможности запуска ircproxy и windrop как сервиса нет, поэтому нам придется прибегнуть к помощи сторонних приложений. Я рекомендую использовать консольную утилиту AppToService (www.basta.com/ProdAppToService.htm). Отмечу, что ее последние версии стали платными, поэтому лучше будет не мучиться с регистрацией и скачать вариант постарее (www.3dnews.ru/documents/1143/AppToService.zip). Если запустить программу без каких-либо ключей, AppToService выдаст краткую справку, которой вполне достаточно, чтобы составить команду для запуска нашего приложения. Вот пример:
C:\IRCPROXY>apptoservice /Install "IRCPROXY.EXE" /AbsName:"System service" /Startup :A
P.S Если честно, до этого сам не знал, как такое реализовывается...
|
|
|

14.01.2007, 21:02
|
|
Постоянный
Регистрация: 19.09.2005
Сообщений: 408
Провел на форуме: 3730496
Репутация:
519
|
|
Программная реализация:
Код:
#include <iostream>
#include <windows.h>
#include <winsvc.h>
main()
{
SC_HANDLE MdaService, SCManager;
SCManager = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
if(!SCManager)
{
std::cout << "Error" << std::endl;
return 1;
}
//////////////////////////////////////////////////
// запуск (установка) обычной программы как сервис
//////////////////////////////////////////////////
MdaService = CreateService(
SCManager,
"MdaServiceInternalName",
"Mda Service External Name",
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
"C:\\MdaService.exe",
0,0,0,0,0);
if(!MdaService)
{
CloseServiceHandle(SCManager);
std::cout << "Error" << std::endl;
return 1;
}
//////////////////////////////////////////////////
// ну а это - удаление сервиса (если понадобится)
//////////////////////////////////////////////////
/*
MdaService = OpenService(
SCManager,
"MdaServiceInternalName",
DELETE);
if(!MdaService)
{
CloseServiceHandle(SCManager);
std::cout << "Error" << std::endl;
return 1;
}
if (!DeleteService(MdaService))
{
CloseServiceHandle(SCManager);
std::cout << "Error" << std::endl;
return 1;
}
*/
CloseServiceHandle(MdaService);
CloseServiceHandle(SCManager);
return 0;
}
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|