Всем привет! Есть следующая проблема.. Написал сервис в виде Dll и хотел бы прилепить его к svchost-у. Сделал Launcher для сервиса и сам сервис. launcher протестировал на вирусе, который у меня обитал и жил как сервис.. С помощью него поставил вирь в систему.. Написал свой тестовый сервис... Блин.. Он у меня не запускается после вызова в Launcher-e функции StartService, код ошибки - 1083.. Как решить проблему - не понимаю.. Через IDA смотрел бинарники вируса - вроде у меня всё тоже, в части интеграции в ОС.. В чем засада не могу понять, примеров по созданию сервисов в виде Dll так в инете и не нашел.. А те что есть - не помогают.. Исходники Launcher-a и сервиса здесь: Исходники P.S: Да, забыл сказать - написано в VS2003, сервис нужно собирать в Release! Там всё настроено с def файлами! Пасс на архив - 12345
0) какой тип сервиса? SHARE или OWN_PROCESS ? С шаре маловороятно что сможешь запустить 1) Какая именно командная строка запуска? я имею в виду после svchost.exe -k какое слово идет? 2) если всё норм на предыдущем шаги, то прописал ли ты имя этого сервиса в группу этих сервисов? 3) попробуй установить сервис, а потом запустить через стандартный менеджер сервисов (который в администрировании). Тогда возможно скажет что за ошибка именно 4) Error 1083: Исполняемая программа, запуск которой настроен в службе, не включена в состав службы - вот тут вот возможно какраз и есть влияние 2-го пункта 5) также проверь такой факт: есть в пути есть пробелы, то путь в кавычках должен быть
В твоем случае, ты должен добавить имя своего сервиса в список: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SvcHost\ Переменная netsvcs - тут хранится список сервисов которым разрешено быть запускаться в группе netsvcs которую ты указал в командой строке запуска svchost Ну и при создании сервиса SERVICE_WIN32_SHARE_PROCESS лучше не юзать. не факт что запустится сервис. можешь словить ошибку типа не получается запустить сервис в группе сервисов, потмоу что процес уже запущен. Както так оно там ругается Если интересно то можешь об этом почитать тут (вся ветка): http://www.geoffchappell.com/viewer.htm?doc=studies/windows/win32/services/svchost/index.htm&tx=33
Во! вот про такой способ я читал! Но фишка в том, что у меня есть вирь, который этого не делает! Я его вроде весь облазил - нет там записи в "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SvcHost\"!!! Я сейчас конечно попробую такой вариант, как ты советуешь.. Скажи, а у тебя нет желания его (вируса) поглазеть? То, что IDA дает? Я просто писал, на основании тех данных, что в результате реверса получил! Запускается он - также как у меня реализовано в Launcher-e! И там нет добавления такой записи! Вот мне и интересно понять - как же он таки стартует! 0) SERVICE_WIN32_SHARE_PROCESS - также как и в вире 1) TEXT("%SystemRoot%\\System32\\svchost.exe -k netsvcs")