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

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

Вопрос по запрету завершения своего приложения. [D7, Win2k, WinXP]


Страницы:   1 2

Dreamse ©   (2007-11-22 11:04:00) 

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

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

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

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

Тут есть модераторы которые почему то не въезжают в смысл и закрывают обсуждение не дав положительных ответов. Попрошу на этот раз дать пообсуждать проблему СО ЗНАЮЩИМИ ЛЮДЬМИ а не закрывать топик если вы не знаете ответа.

Реализовать программу в виде службы НЕВОЗМОЖНО так как это оболочка замена Explorer

Нужно пресечь любую попытку завершения моего приложения сторонними программами. Как это можно реализовать ?


Сергей М.   (2007-11-23 08:12:00) [1]


> Hook ?


Для процессов, создающих хотя бы одно окно, - хук.
С прочими сложнее.

Все же прислушайся к [19].
Грамотно реализованные политики безопасности решают задачу на все 100%.


stud   (2007-11-22 17:08:00) [2]

Dreamse   (22.11.07 11:04)
Пишу оболочку для ограничения запуска приложений и доступа пользователей к системным файлам.


если это СУТЬ - то решается задача с помощью политик, например
разрешением пользователю запуска определенных программ и раздачей им соответствующих прав. и если ваша оболочка будет запущена от имени системы например - врядли ее смогут убить


Dreamse   (2007-11-22 16:34:00) [3]

> stud ©   (22.11.07 16:29) [19]

Если вы не знаете суть проблеммы, поставленую задачу, работу интернет кафе, то не лезьте с глупыми советами пожайлуста.


stud   (2007-11-22 16:29:00) [4]

Dreamse   (22.11.07 14:40) [12]
Вариант простой есть.


самый простой вариант найти нормального сисадмина!


Dreamse   (2007-11-22 16:19:00) [5]

> Сергей М. ©   (22.11.07 15:16) [16]

> перехвати глобально вызов ф-ции TerminateProcess

В какую строну копать ? Hook ?


Сергей М.   (2007-11-22 15:22:00) [6]


> Dreamse


Это не ты ли трындел намедни в форуме про " методTerminate" &)


Сергей М.   (2007-11-22 15:16:00) [7]


> Dreamse   (22.11.07 15:12) [15]


> Если вдруг прочитаешь


Читал. Прослезился.

Нахрен было писать какой-то там ехплорер, чтобы иметь сабжевый геморрой - так и не понял)

ну если ты чукча, то перехвати глобально вызов ф-ции TerminateProcess - этого, думаю, будет достаточно для такой кулибинской задачи)


Dreamse   (2007-11-22 15:12:00) [8]

> Сергей М. ©   (22.11.07 14:59) [14]

> Ну а причины того, что твое приложение не м.б. службой ты изложить не сподобился)

Если вдруг прочитаешь выше то увидешь что там написано что оболочка грузиться ЗАМЕСТО Exploer'a соответствено это НЕ СЛУЖБА

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

Соответственно приложение НЕ СЛУЖБА а обычное приложение и нам нужно не допустить выгрузку его из памяти.


Сергей М.   (2007-11-22 14:59:00) [9]


> вернёмся к поискам метода защиты приложения от выгрузке
> его из памяти


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


Сергей М.   (2007-11-22 14:57:00) [10]


> хочу лишь одного, понять каким образом запретить ЛЮБЫМ программам
> завершать мой процесс. ВСЁ!


Ну и к чему тогда в твоих постах так много буквов про какие-то там "комп. клубы", "сеансы" и прочую дребедень ?)

Зри в корень, как говаривал Козьма !)


> Сможет ли программа с правами польователя завершить например
> процесс игрызапущенный с правами админа ?


А если не игры ? Что это меняет ? Опять же - учись у Козьмы !)

По сабжу - сможет.


Dreamse   (2007-11-22 14:40:00) [11]

Вариант простой есть.

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

Вопрос в следующем : Сможет ли программа с правами польователя завершить например процесс игры запущенный с правами админа ?


Dreamse   (2007-11-22 14:37:00) [12]

> Только причем здесь те самые "другие" программы ? Ты о них печешься или о своей супер-пупер-оболочке ?

мда... хорошо, попробуем ещё раз.

1) Вот ты написал антивирус :)
2) А я вирус
3) На компьютере пользователя установлен твой антивирус ... и вдруг туда попадает мой вирус .. что он делает ? Первым делом он конечно же выгружает из памяти твой антивирус чтобы он не машел ему убивать систему.
4) И ты сразу же думаешь как сделать так чтобы мой вирус не выгрузил твой супер антивирус ?

Так вот я думаю ТАК ЖЕ :) Я хочу лишь одного, понять каким образом запретить ЛЮБЫМ программам завершать мой процесс. ВСЁ!

Если там запущенна оболочка и другие программы которые её завершают значит так нужно :) Если бы небыло бы программ которые выгружали из памяти мою оболочку я бы не писал!

Давайте вернёмся к поискам метода защиты приложения от выгрузке его из памяти ?!


Сергей М.   (2007-11-22 14:29:00) [13]


> Если есть значит нужна


Ну нужна и нужна)
Только причем здесь те самые "другие" программы ? Ты о них печешься или о своей супер-пупер-оболочке ?


> программы блокировки


Эт что за зверь ?
Какого лешего они делают на машине, которая должна быть полностью подконтрольна лишь администратору ?


Dreamse   (2007-11-22 14:17:00) [14]

> Reindeer Moss Eater ©   (22.11.07 14:06) [6]

> Сначала пустил в систему гостя с правами админа, затем мучаешь мозг как же ему запретить завершать процессы.

Все программы работают от имени Админа, такова специфика работы программ.

> Сергей М. ©   (22.11.07 14:07) [7]
> Нахрен она вообще нужна ?) Вот это непонятно.

Решать нужна она или нет к сожалению не вам а мне. Если есть значит нужна. Вопрос в другом. Как её запустить с правами системы как например WinLogon который невозможно выгрузить даже с правами админа.


Сергей М.   (2007-11-22 14:11:00) [15]


> Reindeer Moss Eater ©   (22.11.07 14:06) [6]


Обычное дело - ни секунды не чесав репу создать себе трудности, чтобы потом их героически преодолевать)


Сергей М.   (2007-11-22 14:07:00) [16]


> 1) Есть моя оболочка, замена Explorer она сибе работает
> и работает


Нахрен она вообще нужна ?) Вот это непонятно.


> 2) Есть программы управления временем


Какое отношение эти программы имеют к твоему суперпуперэксплореру ?


> приоритет системы


Какой еще нафих "приоритет" ?) Может ты о привелегиях?)


Reindeer Moss Eater   (2007-11-22 14:06:00) [17]

1) Запускаем нашу программу , запускаем таскменеджер выбираем программу и жмём кнопочку : Завершить процесс
2) Вопрос : Нужно чтобы программа при этох действиях НЕ ЗАВЕРШИЛАСЬ а осталась работать.


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


Dreamse   (2007-11-22 14:02:00) [18]

Ещё раз :)

1) Есть моя оболочка, замена Explorer она сибе работает и работает
2) Есть программы управления временем. Которые по истечении оплачегоно вренени в интернет кафе закрывают все запущенные приложения.

Вопрос. Как не дать себя завершить ?

Я хочу чтобы моя оболочка работала и работала себе. При этом её никто не мог выгрузить !

p.s подойдём к вопросу с другой стороны :

1) Запускаем нашу программу , запускаем таскменеджер выбираем программу и жмём кнопочку : Завершить процесс
2) Вопрос : Нужно чтобы программа при этох действиях НЕ ЗАВЕРШИЛАСЬ а осталась работать.

Есть варианты?
Может быть каким то образом можно установить уже запущенной программе приоритет системы?
Или может быть подскажите как можно стартовать программу с приоритетом системы чтобы она стала невыгружаемой ?!


Сергей М.   (2007-11-22 13:56:00) [19]


> Не могу понять при чём тут планировщик заданий


При том что этот штатный сервис как раз и предназначен для выполнения неких действий в соответствии с заданным ему расписанием.

В твоем паталогическом случае:

Расписание = "окончание сеанса"
Действие = "выгрузить все запущенные приложения"

Что непонятного ?


Dreamse   (2007-11-22 13:42:00) [20]

> Сергей М. ©   (22.11.07 11:30) [1]

К сожалению не понятна ваша мысль. Не могу понять при чём тут планировщик заданий


Страницы:   1 2

Наверх

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