![]() |
Перехват открытия файлов
Я пишу для школы программу для администратирования.
Точнее ее приходится писать. Вначале через реестр настроил на открытие только необходимые прогрммы. Но дети довольно умные, просекли в чем дело и просто переименовывают exe'шники игр в notepad.exe например и все у них работает. Моя идея сейчас такая, написать прогу которая будет перехватывать запуск приложений, определять например размер файла и имя и если оба совпадают то разрешить запуск. Единственное чего не знаю, как перехватить запуск. Способ проверять уже запущенные приложения не очень подходит. P.S. пишу на дельфи Кто знает, подскажите как реализовать это. Спасибо! |
Есть более простые способы запрета игр....
например вызов родителей в школу..... а дети все равно любую защиту обойдут с помощью старших братьев - хакеров. |
Дети не обойдут защиту с помощью старших братьев.
Это школа интернат, в Израиле. Дети тут живут и учатся. Раз в две недели выезжают домой. Родители приезжают в школу только на собрания и все. Редко, что кто-то приезжает из их родственников. Запрет относится не только к играм но и к другим программам. |
А игры какие уже установленные?По дефолту у них там типа C\Program Files\Game или наподобе.Можно запретить всю конкретную ветку.
Рано или поздно,любую заwиту обойдут.Но ето даже похвально,гордиться такими юными хацкерами надо! |
Нельзя играть в сетевые игры, нельзя использовать Kazaa, eMule и т.д.
Насчет взлома защиты этими детьми сомневаюсь, они просто не найдут что взломать. |
Шо значит,всё нельзя?!Если низя,но очень хочется,то можно.
С ренеймом то справились. А на все ети сетевые игры, Казаа, еМуле и т.д,ставьте шлюзы,стены и т.д. |
Задача уже конкретно стоит. Перехватить запуск приложения и если оно разрешено (а это будет несколькими методами) проверяться, то разрешить ее работу.
Зачем тему во флуд превращать. Я ведь не прошу методы защиты от детей. Четко и ясно н написал "Перехват открытия файлов". |
Хук на WH_CBT
Сообщения: HCBT_ACTIVATE - когда приложение активизировалось. HCBT_CREATEWND - когда создано новое окно. |
Точно. Можно еще попробовать поиграться с ShellHooks - HSHELL_WINDOWACTIVATED и HSHELL_WINDOWCREATED.
И еще есть хуки SetWinEventHook через IAccessible - что-то типа EVENT_OBJECT_CREATE и EVENT_OBJECT_SHOW. В этом случае можно обойтись без DLL. Правда все равно не представляю как это на дельфи сделать. P.S. Eще можно попытаться мониторить процессы или перехвать вызов API CreateProcess |
Дети просто выгрузят твой софт или уберут его из автозагрузки :p
|
Можно программу спрятать от TaskManager.
|
Как они его уберут или выгрузят, если ни таск-менеджер не запустят, ни рег-едит? =)
|
1. насколько я помню есть уже готовые решения. можно попробовать использовать их...
2. как насчет подсчета контрольных сумм? о бишь MD5 как в волах? 3. какая система? в NT можно вроде системными способами обойтись.. |
Melkor ,
1) а какие готовые решения существуют? Уверен, что они платные. А школа, где я работаю не в совке и тут иногда проверки бывают так что пиратский софт нельзя. 2) Это впринципе не важно. Главное что-бы открытие любого файла проходило через мою прогу. Определять буду по имя+размер. Этого достаточно. Да и потом вручную они уже размер exe'шников не сменят. 3) win98 2all загрузка проги будет происходить не из startup folder и не из реестра Тут дети вряд ли что-либо обнаружат |
Цитата:
Продолжим. Коль скоро в школе есть комп. класс, то и операционки там тоже "куплены". Надеюсь, не 9х ... Коль так, то тебе прямая дорога на груп полиси для "клиентов" - траходром конечно и не для данного раздела обсуждение, но ОНО того стОит!!! Через эти груп полиси настраиваешь ДЛЯ КАЖДОГО пользователя экран, через который он может видеть и запускать лишь то, что ему ПОЛОЖЕНО!!! И никакого разрешения на инсталляцию прог!!! Забудь!!! Всё. Если будут вопросы по ГП - пиши в другой раздел, чем могу - помогу!!! УДАЧИ!!! |
Цитата:
|
А спрятать вообще таск бар разве непозволительно ? И "выдавать" его лишь в том случае, когда идёт "изучение" оп.системы ?
|
someone312002, не беспокойся все в школе лицензионное, включая дельфи. Полиси групп и так уже настроенны, но простое переименование quake.exe в notepad.exe в данном случае помогает. Это для примера.
Вот и нужно перехватывать запуск файла, так надежнее. Потом прога не только для этого. Еще куча функций встроенно для разных нужд. 2all, опят же повторяюсь загрузка проги будет происходить не из startup folder и не из реестра Тут дети вряд ли что-либо обнаружат. Файл который запускается нигде не светится. |
WestFOX
Если уж прога не запускается из common startup или ресстра, нигде не светиться, то я думаю, что и в safe mode загрузится без проблем => F8 тут не поможешь... DeToNaToR Забыл сказать, функция обработки хука должна находиться в dll. Может нужны конкретные примеры? |
Цитата:
|
WestFOX
Цитата:
DeToNaToR Вот что надо для хука (все это на Си++): HMODULE dllhook = LoadLibrary("hook.dll"); HOOKPROC hook = (HOOKPROC)GetProcAddress(dllhook, "HP"); HHOOK hhook = SetWindowsHookEx(WH_CBT,hook,dllhook,0); { FreeLibrary(dllhook); } // При этом хук тоже убивается... Сама функция обработки хука должна быть такой: __declspec(dllexport) LRESULT CALLBACK HP(int code, WPARAM wParam, LPARAM lParam); В дире проекта dll'ки положи также файл exports.def: LIBRARY hook EXPORTS HP |
Цитата:
и потом восстановить win 10 минут. Norton Ghost используется :) |
| Часовой пояс GMT +4, время: 10:55. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.