Карта сайта

Это автоматически сохраненная страница от 17.12.2012. Оригинал был здесь: http://2ch.hk/b/res/39783966.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Пнд 17 Дек 2012 04:38:22
Запрет на остановку службы в WinXP.
Привет ночной!

Нужна помощь антуанов в программировании на С++, но боюсь не увидеть ночью анона в /pr.

Есть сервис (читай служба) которая создается функцией:
SC_HANDLE CreateService
Запускается функцией:
hService = OpenService(hSCManager, SomeServiceName, SERVICE_START)

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

Ночной, не гони прочь, помощь пиздец как нужна!


Пнд 17 Дек 2012 04:45:15
>>39783966
> Вопрос, как сделать так, чтобы нельзя было службу эту остановить через управление службами винды.
Есть же диспетчер задач еще, всякие Process Explorer и т.п., которые легко смогут убить ее, при наличии прав администратора.

Единственный вариант что вижу сейчас - это сделать процесс службы недоступным для пользовательского режима - для этого скорее всего придется написать свой небольшой драйвер, но и тогда она может бить найдена и убита с помощью годноты типа RkU или любым серьезным антивирусом.

Еще есть что-то с установкой прав на доступ к памяти процесса, но на счет этого вообще нихуя не знаю почти.

Пнд 17 Дек 2012 04:50:31
>>39784157
>Есть же диспетчер задач еще, всякие Process Explorer и т.п., которые легко смогут убить ее, при наличии прав администратора.

Это не важно, главное, чтобы сервис не останавливался через управление службами...
Для того, чтобы запретить ТаскМенеджеру убивать процесс, нужно перехватывать апи ядра TerminateProcess - а такой геммор мне нафиг не упал.

Мне просто нужно, чтобы нельзя было остановить через управление службами - и от меня отъебутся <span class="spoiler">(я надеюсь, по крайней мере)</span>.
Если анон знает, то помогай, пожалуйста.

Пнд 17 Дек 2012 04:54:58
>>39784157
Алсо, легкий быдловариант - пишешь такой код:

Стартовая процедура:

Если FindWindow ("Классокна1", "Заголовок1") = 0 тогда
грузишь невидимую форму и задаешь ей класс "Классокна1" и заголовок "Заголовок1"
ХУЙ = 1
Иначе если FindWindow ("Классокна2", "Заголовок2") = 0
грузишь невидимую форму и задаешь ей класс "Классокна2" и заголовок "Заголовок2"
ХУЙ = 0
Иначе
Завершить программу


Далее, устанавливаешь таймер вызывающий функцию с таким кодом примерно:

Если FindWindow ("Классокна1", "Заголовок1") = 0
или
Если FindWindow ("Классокна2", "Заголовок2") = 0 тогда
делаешь запуск еще 1 процесса службы, который вызывает стартовую функцию и выставляет нужный класс окна и т.п.


В остальном коде программы смотришь по условию
Если ХУЙ = 1 тогда
это рабочая копия программы, если ХУЙ = 0 не делать ничего


Такую пару процессов невозможно убить вручную, кроме как заморозить их, ибо если 1 из них будет убит, второй его перезапустит и наоборот, с частотой на которую выставлен таймер.
А если поставить им защиту то таки вообще почти бессмертные.


Тащем-то простой пример.


Пнд 17 Дек 2012 04:57:07
>>39784282
Ну хуй знает, ставь тогда перехват на функции работы со службами или отслеживай и убивай окно подтверждения, что всплывает при остановке службы это не вариант ибо есть еще sc stop.
В общем может анон еще что-то подскажет, я больше диванный.

Пнд 17 Дек 2012 04:59:44
>>39784360
Говорю же, это нахуй не надо, надо просто запретить остановку службы через SERVICES.MSC. Можно как на пикрелейтеде, можно просто проставив права доступа так, чтобы выдавалось сообщение о нехватке прав доступа. Похуй. Главное как?

Пнд 17 Дек 2012 05:00:14
Зачем вы ему помогаете, аноны? Вин-лок же пишет или ешще какую дрянь, кготорую вы потом на собственных компах прибить не сможете, будете двощпомоги треды создавать.

Пнд 17 Дек 2012 05:03:31
>>39784461
Иди нахуй, я зачет свой ебаный пишу. Даже если винлок - они убиваются моментом через реестр и безопасный режим. Вряд ли я с аноном такой, блять, гений, что напишу то, чего не написали до сих пор ребята, которые таких вопросов не задают (тот же ESET тебе в пример).

Пнд 17 Дек 2012 05:17:54
>>39784444
Убери в реестре у всех кроме системы права на запись в ветку службы - возможно сработает.

Пнд 17 Дек 2012 05:18:34
И что, всем пох на бедного анона (тобишь меня) и его проблему?

Пнд 17 Дек 2012 05:20:44
>>39784781
Угу, а если на зачете попросят перенести и запустить программу на компе у препода? Или если спросят, как я это сделал? Пизды вломят за попытку наеба=(
У меня времени всего до вторника, после чего мне будут вкатывать таких пиздюлей, что хоть вешайся...

Пнд 17 Дек 2012 05:26:31
Пилил длинный пост, но полез ковыряться в драйверах и словил бсод.

В общем, почитай тут
http://www.codeproject.com/Messages/2834212/Re-How-to-protect-a-windows-service-from-being-SIG.aspx

Еще, обрати внимания на виндовские критические службы вида RPC. Можно пробовать нагуглить какой механизм самозащиты у них и повторить.
диванный

Пнд 17 Дек 2012 05:34:28
>>39784934
Не, диванный, почитал я пару постов - не в ту сторону там идет дискуссия: мне нужно не защитить процесс от убиения, а защитить процесс от его остановки через службу:
Т.е. убить я процесс могу (например, если он подвиснет) через таскменеджер или иное, а вот сделать так, чтобы процесс нельзя было остановить - вот реальный вопрос.

Пнд 17 Дек 2012 05:41:46
>>39784833
дебил блядь в программе впиши что бы перед началом работы она убирала права, и тогда на каком бы ты компе её не запустил всё будет хорошо.

Пнд 17 Дек 2012 05:45:52
>>39785197
Код в студию для криворукого меня, анон.

Пнд 17 Дек 2012 05:50:09
>препода
>неубиваемый процесс
вас, что трояны учат на парах писать, лол

Пнд 17 Дек 2012 05:54:08
>>39785360
Больше всего проигрываю с того факта, что никуя не трояны, а антивирусы, блять

У препода своя фирма, разрабатывающая антивирус в нашем маленьком захолустье, и вот эта вся радость нужна, чтобы сдать ему зачет, хотя его собственный антивирус такими свойствами не обладает (убиваю его везде, где найду: компы старые, 1Гб оперативки и слабый проц - если начинает работать их антивирус, компы виснут на час-два)

Пнд 17 Дек 2012 05:56:09
>>39785426
лол у нас тоже преподы нас юзали чтобы мы писали им хуйню которая им для работы нужна

Пнд 17 Дек 2012 05:59:40
>>39785044
Может я куда-то не туда прикрутил, няша, но не помогает. ЧЯДНТ?

Пнд 17 Дек 2012 06:12:30
>>39783966
> Вопрос, как сделать так, чтобы нельзя было службу эту остановить через управление службами винды.
С интервалом в 0.1 секунды ищи окно и именем "службы", или како но назваеся, и закрывай. Проходной вариант.

Пнд 17 Дек 2012 06:27:20
>>39785044
Заебись, исправил ошибку - скобку случайно не там поставил...
Правда, возникла не менее интересная проблема - теперь я сам не могу ничего сделать с сервисом: даже запустить...

Я точно что-то делаю не так...

Пнд 17 Дек 2012 06:40:36
>скобку случайно не там поставил...

Кодеры уровня /б

Пнд 17 Дек 2012 06:53:48
>>39786381
Я не сплю уже около 36 часов и мозг на такие мелкие детали обращает внимание далеко не сразу...


← К списку тредов