![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Контроль работы приложения на уд. компе [D7]
novice © (2006-06-05 10:51:00)Даже не знаю, с какой стороны подойти к этому вопросу, может и постановка его изначально неверна... Суть такова: на n машинах в сети работает некая программа (моя). Юзеры очень не хотят, чтобы она работала и стараются ее убить (на 9х виндах - легко). Недопустить этого, на мой взгляд, невозможно, но проконтролировать хотелось бы. Как я это представляю: моя программа слушает некий порт. Со своей машины я на этот порт засылаю пакет (тут пока не понятно, считать ли приход на этот порт любого пакета успехом и тогда не заморачиваться его чтением, или же критичным установить содержание), программа на него отвечает (или нет). Если ответа нет, но пинг проходит = программу "убили".
novice (2006-06-05 13:30:00) [41]Alien1769 © (05.06.06 13:03)
Это более приемлимый вариант. У меня сейчас происходит так.
У нас в конторе одним из главных инструментов является 1С. Я сделал программку (стартер), которая:
1. запускает 1С
2. Проверяет наличие на лок. компе всех необходимых файлов (ехе, dll, ini). Если юзер их сподобился удалить - копирование с сервера на лок. комп.
3. Запуск программы с лок. компа.
В ярлыках на запуск 1С я подменил строку запуска на запуск стартера (тоже на сервере хранится, куда доступ у юзеров только на чтение). Т.о., запуск программы довольно незаметен для юзера, да и имя в процессах показывается как 1сv77.ехе (настоящий 1с - 1Сv7s.exe). Пока, вобщем, этого хватает, но возможность предотвращения все-таки остается. Вот и хотелось бы иметь контроль.
А насчет загрузки именно перед ОС - не годится, т.к.:
1. На лок. компе необходимые файлы могут осутствовать (напр., удалены хитросделанным юзером в безопасном режиме)
2. Сервер, с которого эти файлы можно скопировать - не доступен (сервер - это только название, обычный комп 2к с 1С и сиквелом, который на ночь выключают, да и свитчи тоже отключают на ночь).
Alien1769 (2006-06-05 13:03:00) [42]
> 1. Недопущение прерывания пользователем
> 2. Контроль (периодический) работы программы.
Програмку желательно разнести на 2 уровни.
Первую загружать резидентно до загрузки Win9x.
Вторая основная - контроль за нужными дейвиями.
Если вторую уничтожат, резидент через некоторое время запустит второй блок.
novice (2006-06-05 13:02:00) [43]
> Может быть стоит подумать над тем, чтобы уйти от Win9k (до
> некоторой степени "дремучесть")
Невозможно по определению. Что, кроме 98, можно воткнуть на Cel-600? А на Cel-333? При том, что со своей работой такое железо справляется, и, как результат, замене не подлежит. На железе, которое может, давно уже 2к стоит.
Alarm (2006-06-05 12:55:00) [44]стараются ее убить (на 9х виндах - легко)
Может быть стоит подумать над тем, чтобы уйти от Win9k (до некоторой степени "дремучесть"), а под Win2k, WinXP, довольно просто (многочисленными твикерами) ограничить юзеров тем, что считаешь необходимым (разумеется, если ты админ)
novice (2006-06-05 12:47:00) [45]На мой взгляд, проблема здесь двойная:
1. Недопущение прерывания пользователем
2. Контроль (периодический) работы программы.
Если успешно выполнен п.1, зачем, казалось бы п.2?
Программу надо запустить. Сделать это можно несколькими способами - прописать в реестр, поместить в папку автозагрузки, по шедулеру и т.д.
Но, даже если юзер не может ничего сделать с процессом, в таких системах, как вин9х, ему ничто не помешает выбросить программу из автозагрузки и перезагрузиться. Так что мой вопрос актуальности не теряет.
Сергей М. (2006-06-05 12:16:00) [46]Копай в сторону глоб.хуков.
Сеть здесь вряд ли нужна.
novice (2006-06-05 11:59:00) [47]Dmitrij_K
Посмотрю
Сергей М.
Да
Сергей М. (2006-06-05 11:42:00) [48]
> novice (05.06.06 11:26) [2]
Если я правильно понял, подконтрольное приложение призвано следить за несанкц. запуском юзером тех или иных программ ?
Dmitrij_K (2006-06-05 11:42:00) [49]Попробуй это http://madshi.netmadCodeHook
по-моему в 9x но работает
novice (2006-06-05 11:36:00) [50]Не представляю, как это можно сделать для 9х винды.
Dmitrij_K (2006-06-05 11:30:00) [51]Сделай так чтобы программу нельзя было убить извесными способами
novice (2006-06-05 11:26:00) [52]Ну, во-первых, это уже повод для административных мер, во-вторых, повод для сканирования (тем или иным способом) "уличенного" компьютера на предмет запрещенных программ - моя программа, при попытке юзером запустить таковое, его "убивает" с записью в лог времени, а главное, полного пути исполняемого файла. Но это, вобщем, дело уже пятое относительно моего вопроса.
Сергей М. (2006-06-05 11:18:00) [53]
> проконтролировать хотелось бы
Предположим, ты тем или иным образом узнал о факте принудительного терминирования юзером процесса твоего подконтрольного приложения.
Что дальше ?