Запрет на закрытие программы

Добрый день, форумчане. Мне необходимо запретить пользователю закрывать моё приложение через диспетчер задач и другими способами. Т.е. Закрытие осуществится только если пользователь введёт верный пароль. Так же вопрос. Моя программа создаёт VPN соединение через RAS( Remote Access Service ). Соотвественно, желательно, чтобы программа запрещала закрытие и подключение всех VPN.Заранее спасибо. P.S. Уважаемые модераторы, если я ошибся разделом, не могли бы вы перенести в соотвествущий раздел!
8 ответов

RusDupel, извиняй на форуме нет раздела - "написание вируса"


Игорь с++, Вообще, мы разрабатываем программу родительского контроля! По этому, если можно програмно настраивать политику безопастности для определённого пользователя - тоже сгодится!


По этому, если можно програмно настраивать политику безопастности для определённого пользователя - тоже сгодится!
так надо было так и писать , а то по Вашим объяснениям кроме как вирус не чего на ум не приходит , особенно это -
Мне необходимо запретить пользователю закрывать моё приложение через диспетчер задач и другими способами. Т.е. Закрытие осуществится только если пользователь введёт верный пароль.


Мне необходимо запретить пользователю закрывать моё приложение через диспетчер задач и другими способами.
Простейшее - задать для защищаемого процесса дескриптор безопасности, в котором повырезаны все права. Правда, если пользователь будет из группы "Администраторы", это сильно не поможет.Также можно поставить перехватчики на OpenProcess/DuplicateHandle(Ex), модифицируя их поведение для защищаемого процесса.На этом возможности Win32 API по защите процесса заканчиваются. А убить процесс можно кучей способов. Например, внедрить в него оконный хук и вызвать оттуда TerminateProcess. Или изменить контекст одного из потоков. Или найти хэндл защищаемого процесса где-нибудь в svchost или csrss. Или записать в специальный ключ реестра dll, которая будет загружаться в адресное пространство процесса после его запуска, после чего снова звать Terminate. Еще можно перечислить все потоки процесса и сделать suspend. Еще можно положить рядом с exe невалидный файл с расширением config. Если у процесса есть окно, можно послать ему WM_TIMER с shell-кодом (shatter attack). И так далее. Про способы уничтожить процесс из ядра я вообще молчу.


Убежденный, А если я создам сервис(виндовый демон)? http://ru.wikipedia.org/wiki/%D0%A1%...%D1%8B_Windows - из викиКлассификации уровня 1 — Драйверы, которые загружаются после инициализации ядра ОС; ИЛИ 2 — Службы, которые должны быть загружены диспетчером управления службами (равен параметру — «Авто»);


А что это даст ?


Убежденный, Сервис не виден в таскМенеджере и чтоб его закрыть - нужны права Администратора.


чтоб его закрыть - нужны права Администратора.
Вот это уже правильное направление. Осталось создать окружение, где были бы пароли на вход и пользователи, не входящие в группу "Администраторы".