Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Служба, которую нельзя выключить 
V
    Опции темы
MadCoder
Дата 11.12.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



Я могу просто его скрыть из диспетчера задач, но это не вариант. Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин). 
PM WWW ICQ   Вверх
dumb
Дата 11.12.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(MadCoder @  11.12.2008,  11:23 Найти цитируемый пост)
Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин).  

это хуки. чем "ниже", тем лучше.
PM MAIL   Вверх
CodeMonkey
Дата 11.12.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Цитата(MadCoder @  11.12.2008,  10:23 Найти цитируемый пост)
Я могу просто его скрыть из диспетчера задач, но это не вариант. Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин). 

Можете сказать, зачем это надо?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MadCoder
Дата 11.12.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



Я пишу программу из раздела "Безопасность", поэтому хочу ограничить возможность ее выключения например без ввода пароля.

Добавлено через 1 минуту
Прятаться от пользователя в общем-то неправильно, да и любое эвристическое обновление антивируса может перевести программу в разряд вирусов, если она прячется из диспетчера задач ).

Добавлено через 1 минуту и 54 секунды
Цитата(dumb @ 11.12.2008,  10:39)
Цитата(MadCoder @  11.12.2008,  11:23 Найти цитируемый пост)
Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин).  

это хуки. чем "ниже", тем лучше.

Поможешь ссылкой? Все, что я до сих пор видел и пробовал, не работает, админом все еще можно выключить.
PM WWW ICQ   Вверх
bartram
Дата 11.12.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Цитата(MadCoder @  11.12.2008,  13:49 Найти цитируемый пост)
Поможешь ссылкой? Все, что я до сих пор видел и пробовал, не работает, админом все еще можно выключить. 

Перехват API функций в Windows NT
Вопросы уже в другой тебе т.к.  Один топик - один вопрос, или же в поиск, уже не однократно обсуждалось.

Это сообщение отредактировал(а) bartram - 11.12.2008, 12:38


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
CodeMonkey
Дата 11.12.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Цитата(MadCoder @  11.12.2008,  11:49 Найти цитируемый пост)
Я пишу программу из раздела "Безопасность"

Всё, что "из раздела безопасность" делается настройкой прав, а не через одно место, как хотите вы.

Цитата(MadCoder @  11.12.2008,  11:49 Найти цитируемый пост)
поэтому хочу ограничить возможность ее выключения например без ввода пароля.

Ну и чем это отличается от необходимости ввести пароль учётки, у которой есть право на перезапуск?

Цитата(MadCoder @  11.12.2008,  10:23 Найти цитируемый пост)
Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин). 

Этим вы только поимеете себе кучу проблем.
Можете сразу навесить на свою программу ярлык "скорее всего перестанет работать при ближайшем обновлении системы".


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MadCoder
Дата 11.12.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



- CodeMonkey, не все smile .
- В том, что программа расчитана на ноутбуки. Пароля для учетки там может и не быть, а пользователь заходить под админской записью. Давайте опустим обсуждение конечных пользователей.
- Почему она перестанет работать?
PM WWW ICQ   Вверх
bartram
Дата 11.12.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Цитата(MadCoder @  11.12.2008,  20:23 Найти цитируемый пост)
- Почему она перестанет работать? 

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


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
CodeMonkey
Дата 12.12.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Цитата(MadCoder @  11.12.2008,  18:23 Найти цитируемый пост)
- В том, что программа расчитана на ноутбуки. Пароля для учетки там может и не быть, а пользователь заходить под админской записью. Давайте опустим обсуждение конечных пользователей.

Ну так надо завести учётную запись пользователя с паролем. И админскую с паролем. Так и надо делать. Систему безопасности, учётные записи и разделение прав вводят не просто так, а именно затем, чтобы их использовали. Если у вас не хватает квалификации это настроить - это уже другой вопрос.

P.S. Вообще я смысла тогда не вижу: ноутбук и пароль на перезагрузку? Полный бред. У пользователя уже есть физический доступ к системе. Вытащил батарею и/или зажал Power на энцать секунд - и всё.

Цитата(MadCoder @  11.12.2008,  18:23 Найти цитируемый пост)
- Почему она перестанет работать?

Когда программы начинают закапываться в недокументированные структуры...
Длинная и печальная история ключа Shell Folders
Как выбросить на свалку свою гарантию
The arms race between programs and users
Why can't you trap TerminateProcess?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MadCoder
Дата 12.12.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



CodeMonkey, если у Вас не хватает квалификации прочитать мое сообщение выше и понять, что программа будет поставляться конечным пользователям, которые в большинстве своем не используют пароли для ноутбуков, тогда пишу это в третий раз, специально для Вас:
"программа будет поставляться конечным пользователям, которые в большинстве своем не используют пароли для учеток ноутбуков, не являются опытными администраторами и не создают десять тысяч учеток с разными правами, особенно если компьютер используется 1 пользователем"

Я не хочу использовать недокументированные возможности и возможности, которые могут привести к нестабильной работе системы (такие, как внедрение в чужой код например).

Цитата(CodeMonkey @  12.12.2008,  10:12 Найти цитируемый пост)
P.S. Вообще я смысла тогда не вижу: ноутбук и пароль на перезагрузку? Полный бред. У пользователя уже есть физический доступ к системе. Вытащил батарею и/или зажал Power на энцать секунд - и всё.


Я ничего про перезагрузку и не говорил.
PM WWW ICQ   Вверх
CodeMonkey
Дата 12.12.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Цитата(MadCoder @  12.12.2008,  11:34 Найти цитируемый пост)
Я не хочу использовать недокументированные возможности и возможности, которые могут привести к нестабильной работе системы (такие, как внедрение в чужой код например).

TerminateProcess:
Цитата
A process cannot prevent itself from being terminated.

Ясна официальная позиция?
Посмотрите ещё две последние ссылки в моём предыдущем посте.

Цитата(MadCoder @  12.12.2008,  11:34 Найти цитируемый пост)
Я ничего про перезагрузку и не говорил.

Упс, прошу прощения, неверно прочитал вот это:
Цитата(MadCoder @  11.12.2008,  11:49 Найти цитируемый пост)
возможность ее выключения например без ввода пароля


P.S. 
Цитата(MadCoder @  12.12.2008,  11:34 Найти цитируемый пост)
если у Вас не хватает квалификации прочитать мое сообщение выше и понять, что программа будет поставляться конечным пользователям, которые в большинстве своем не используют пароли для ноутбуков

Ну простите меня за то, что я не могу читать ваши мысли ;)


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MadCoder
Дата 12.12.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



не вижу ничего плохого в том, чтобы запретить пользователю, который не знает пароля (ведь он его писал, когда инсталировал программу) или другому приложению запретить выключение моей программы.
PM WWW ICQ   Вверх
Riply
Дата 12.12.2008, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(MadCoder @  12.12.2008,  14:10 Найти цитируемый пост)
не вижу ничего плохого в том, чтобы запретить пользователю, который не знает пароля (ведь он его писал, когда инсталировал программу) или другому приложению запретить выключение моей программы. 


Надеюсь, ты не будешь утверждать, что твоя программа будет без ошибок ?
А пользователь, тем более хозяин компьютера (ноутбука)
всегда должен иметь возможность снять глючный процесс и без всякого пароля smile

Даже Microsof "позволяет" убивать жизненно важные (!)  для работы системы процессы.
Правда потом получаем BSOD, но это уже другой разговор smile
PM MAIL   Вверх
MadCoder
Дата 12.12.2008, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: 1
Всего: 2



Ввиду невозможности штатными способами запрета любому пользователю выключения процесса через диспетчер задач констатирую, что буду делать программу как сервис с (увы) возможностью отключения через диспетчер задач (хотя это противоречит логике работы программы)...
Всем спасибо за помощь, действительно помогли smile .
PM WWW ICQ   Вверх
CodeMonkey
Дата 12.12.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



offtopic:

What I tell you three times is true:

Раз:
Цитата(MadCoder @  9.12.2008,  02:50 Найти цитируемый пост)
Подскажите, как написать службу, которую нельзя выключить.


Два:
Цитата(MadCoder @  10.12.2008,  00:13 Найти цитируемый пост)
Возможно ли запретить завершение процесса пользователем?/Пользователь должен видеть процесс, но не должен иметь возможность ее выключить (даже если он мегаадмин).


Три:
Цитата(MadCoder @  12.12.2008,  14:10 Найти цитируемый пост)
не вижу ничего плохого в том, чтобы запретить пользователю, который не знает пароля (ведь он его писал, когда инсталировал программу) или другому приложению запретить выключение моей программы


 smile


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Страницы: (3) Все 1 [2] 3 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.