Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Prevent service&process from stopping [D7, WinXP]


i ©   (2007-10-20 00:59:00) 

Надо предохранить службу и процесс от остановки.
Ессно служба и процесс написаны на delphi.

Программы работают под system, юзер - локальный админ.

Насколько я знаю задача непростая, решается либо наладкой каких-то специальных прав на службу (чтоб не стопалась), либо перехватом enumprocesses у task manager'а, т.е. эксплорера.

Т.е. либо напрямую запретить стоп, либо скрыть службы\процессы.

Кто-то решал эту задачу?

Причем, надо чтобы метода работала и в XP и в Vista.

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


i   (2007-10-22 11:58:00) [1]


> Мозгов нет, а туда же - прятаться


в смысле?


Игорь Шевченко   (2007-10-22 09:45:00) [2]

Мозгов нет, а туда же - прятаться


i   (2007-10-22 02:49:00) [3]

проблемы почти решили (в висте чуток не до конца).

сервисы протектим от стопа с помощью назначения спец. прав.

а из диспетчера задач хайдимся перехватом апи.

еще б узнать как программно получать имя гурппы "Администраторы", которое зависит от языка винды... ))
никто не в курсе куда копать?
(гуглинг чето не помог)


ASDE   (2007-10-22 00:24:00) [4]

сервис можно не останавливать  а прибивать в спецкиллерах
как посылает касперский, но его можно все таки завалить в легкую


i   (2007-10-20 02:03:00) [5]

хотя решение с рестартом не катит, если можно зайти в службы и стопануть её))


i   (2007-10-20 01:59:00) [6]

более того, подойдет и решение с тупым рестартом процесса\службы при стопе\терминейте.

я вот заметил что у службы nod'а в сбоях висит "перезапуск" и при убиении процесса он рестартится.


i   (2007-10-20 01:50:00) [7]

я всё понимаю.

но заюзать ограничения юзеров там нельзя.
проще сделать этот перехват (мы в программе используем ряд перехватов), чем переубедить клиента.

>ограниченный юзер не сможет остановить службу итак
кстати это по-разному бывает. ограниченным иногда дают право лазить по таск манагеру и стопать процесссы\службы.

я тут нашел решение на kernel mode driver под visual studio - но это ж полная засада)))

еще нашел решение с удалением строки из листвью таск манагера, но оно не работает (видимо буит варганить, если хукать из длл).

идеальным бы было просто назначить этим процессам какие-нить особые права доступа. лишь бы не стопались легко. а то что они видны - то неважно.


Eraser   (2007-10-20 01:27:00) [8]

ограниченный юзер не сможет остановить службу итак, а с админом бороться не стОит, imho... решается перехватом системных функций, задача не очень тривиальная, как это делает касперский, только вот за такой перехват можно угодить в антивирусные базы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо