| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 13.08.2003
Адрес: localhost
Сообщения: 73
![]() |
Перехват открытия файлов
Я пишу для школы программу для администратирования.
Точнее ее приходится писать. Вначале через реестр настроил на открытие только необходимые прогрммы. Но дети довольно умные, просекли в чем дело и просто переименовывают exe'шники игр в notepad.exe например и все у них работает. Моя идея сейчас такая, написать прогу которая будет перехватывать запуск приложений, определять например размер файла и имя и если оба совпадают то разрешить запуск. Единственное чего не знаю, как перехватить запуск. Способ проверять уже запущенные приложения не очень подходит. P.S. пишу на дельфи Кто знает, подскажите как реализовать это. Спасибо! |
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 13.08.2003
Адрес: localhost
Сообщения: 73
![]() |
Дети не обойдут защиту с помощью старших братьев.
Это школа интернат, в Израиле. Дети тут живут и учатся. Раз в две недели выезжают домой. Родители приезжают в школу только на собрания и все. Редко, что кто-то приезжает из их родственников. Запрет относится не только к играм но и к другим программам. |
|
|
|
|
# 7 |
|
Junior Member
Регистрация: 13.08.2003
Адрес: localhost
Сообщения: 73
![]() |
Задача уже конкретно стоит. Перехватить запуск приложения и если оно разрешено (а это будет несколькими методами) проверяться, то разрешить ее работу.
Зачем тему во флуд превращать. Я ведь не прошу методы защиты от детей. Четко и ясно н написал "Перехват открытия файлов". |
|
|
|
|
# 8 |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
Хук на WH_CBT
Сообщения: HCBT_ACTIVATE - когда приложение активизировалось. HCBT_CREATEWND - когда создано новое окно.
__________________
Завтра будет. Лучше. Последний раз редактировалось V0iD; 14.12.2003 в 21:40. |
|
|
|
|
# 9 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Точно. Можно еще попробовать поиграться с ShellHooks - HSHELL_WINDOWACTIVATED и HSHELL_WINDOWCREATED.
И еще есть хуки SetWinEventHook через IAccessible - что-то типа EVENT_OBJECT_CREATE и EVENT_OBJECT_SHOW. В этом случае можно обойтись без DLL. Правда все равно не представляю как это на дельфи сделать. P.S. Eще можно попытаться мониторить процессы или перехвать вызов API CreateProcess
__________________
Best Regards |
|
|
|
|
# 13 |
|
Full Member
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941
![]() ![]() ![]() ![]() ![]() ![]() |
1. насколько я помню есть уже готовые решения. можно попробовать использовать их...
2. как насчет подсчета контрольных сумм? о бишь MD5 как в волах? 3. какая система? в NT можно вроде системными способами обойтись..
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения! М.Фрай |
|
|
|
|
# 14 |
|
Junior Member
Регистрация: 13.08.2003
Адрес: localhost
Сообщения: 73
![]() |
Melkor ,
1) а какие готовые решения существуют? Уверен, что они платные. А школа, где я работаю не в совке и тут иногда проверки бывают так что пиратский софт нельзя. 2) Это впринципе не важно. Главное что-бы открытие любого файла проходило через мою прогу. Определять буду по имя+размер. Этого достаточно. Да и потом вручную они уже размер exe'шников не сменят. 3) win98 2all загрузка проги будет происходить не из startup folder и не из реестра Тут дети вряд ли что-либо обнаружат |
|
|
|
|
# 15 | |
|
Junior Member
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120
![]() |
Цитата:
Продолжим. Коль скоро в школе есть комп. класс, то и операционки там тоже "куплены". Надеюсь, не 9х ... Коль так, то тебе прямая дорога на груп полиси для "клиентов" - траходром конечно и не для данного раздела обсуждение, но ОНО того стОит!!! Через эти груп полиси настраиваешь ДЛЯ КАЖДОГО пользователя экран, через который он может видеть и запускать лишь то, что ему ПОЛОЖЕНО!!! И никакого разрешения на инсталляцию прог!!! Забудь!!! Всё. Если будут вопросы по ГП - пиши в другой раздел, чем могу - помогу!!! УДАЧИ!!!
__________________
"я не волшебник - я только учусь..." (c) ...а зовут меня Олег... |
|
|
|
|
|
# 17 |
|
Junior Member
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120
![]() |
А спрятать вообще таск бар разве непозволительно ? И "выдавать" его лишь в том случае, когда идёт "изучение" оп.системы ?
__________________
"я не волшебник - я только учусь..." (c) ...а зовут меня Олег... |
|
|
|
|
# 18 |
|
Junior Member
Регистрация: 13.08.2003
Адрес: localhost
Сообщения: 73
![]() |
someone312002, не беспокойся все в школе лицензионное, включая дельфи. Полиси групп и так уже настроенны, но простое переименование quake.exe в notepad.exe в данном случае помогает. Это для примера.
Вот и нужно перехватывать запуск файла, так надежнее. Потом прога не только для этого. Еще куча функций встроенно для разных нужд. 2all, опят же повторяюсь загрузка проги будет происходить не из startup folder и не из реестра Тут дети вряд ли что-либо обнаружат. Файл который запускается нигде не светится. |
|
|
|
|
# 19 |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
WestFOX
Если уж прога не запускается из common startup или ресстра, нигде не светиться, то я думаю, что и в safe mode загрузится без проблем => F8 тут не поможешь... DeToNaToR Забыл сказать, функция обработки хука должна находиться в dll. Может нужны конкретные примеры?
__________________
Завтра будет. Лучше. |
|
|