· Начало · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Alt+Ctrl+Del в WinXP

Посл.отвђт Сообщенiе


Дата: Авг 12, 2003 04:36:54

Каким образом можно заблокировать нажатие этой комбинации в WinXP?
Препод попросил за лето написать программу для проведения тестирования, которая бы сразу выдавала оценку, по окончанию теста. Следовательно приходится хранить ответы вместе с вопросами в одной базе, упакованной в Rar-архив с паролем. База распаковывается в начале выполнения программы во временную директорию, которая по окончанию теста удаляется. Проблема в том, что в WinNT не так-то просто заблокировать доступ к этой временной директории, а следовательно в процессе выполнения теста кто-нибудь может получить распакованную базу с вопросами (и ответами!), закрыв или свернув тест.
Хуком WH_KEYBOARD_LL перехватить это сочетание клавиш не получилось (отдельно Del без проблем отлавливается). Хук был системным в отдельной Dll. Может кто-нибудь знает, что можно сделать?


Дата: Авг 12, 2003 05:07:43

Я бы на вашем месте задействовал настоящую БД, вроде mySQL. Там и права доступа можно настроить на определённый аккаунт.


Дата: Авг 12, 2003 11:27:17

Комбинация Alt+Ctrl+Del зарезервирована самой системой для своих нужд (по соображениям секьюрности WinLogon сидит на отдельном десктопе и переключается на него при нажатии данной комбинации). Это позволяет убедиться что ввод пароля в WinLogon не будет перехвачен какой-нибудь нехорошей програмкой.

Заблокировать нажатие этой комбинации тривиальными методами невозможно (можно драйвер клавиатуры патчить). Поэтому тебе придется поменять архитектуру своего приложения.


Дата: Авг 12, 2003 11:47:04

Sk. Inc.

Одно из простых решений - придумайте алгоритм шифровки базы вопросов/ответов. Rar не нужен, можно просто держать этот bin файл "открытым". Дальше тривиально - загружаете файл, декриптуете и пользуете. Никаких заморочек с Ctrl-Alt-Del.


Дата: Авг 12, 2003 11:49:50

А в чем проблема? Сорцы UnRar 3.0 доступны легально и на халяву. С файле rdwrfn.cpp есть метод ComprDataIO::UnpWrite() вобщем совсем не сложно заставить его писать не в файл, а в память - помойму это то что надо.


Дата: Авг 12, 2003 19:57:05

Спасибо за идеи - посижу, подумаю.
В общем-то проблема не в появлении диспетчера задач, а в том, что он позволяет закрыть, переключиться на другой процесс или запустить новое приложение. Раз заблокировать его появление не получится - возникают новые проблемы/вопросы:
1) Может быть можно заблокировать в нем меню "Файл->Новая задача..."?
2) Как можно скрыть свою программу в списке "Процессов" и "Приложений"?
3) Как недопустить переключение на другую программу?
Заранее спасибо всем за участие.


Дата: Авг 12, 2003 20:54:04

На мой взгляд, стоит распаковывать файл в память, т.к. даже если будет заблокирована комбинация Ctrl+Alt+Del просто отключив компьютер из сети (банально выдернув шнур) распакованные файлы останутся не удалёнными и при запуске останется просто их прочитать.
Вероятно Вы будете хранить не сами ответы а варианты ответов, в таком слечае можно хранить вопросы по порядку их задавания, а ответы перемешанными с определённой закономерностью. Также можно обращать номера правильных ответов, т.е. пусть пять вариантов ответов на каждый вопрос 1, 2, 3, 4, 5 и пусть в файле 5 означает 1, 4 означает 2 или как то по другому.


Дата: Авг 13, 2003 00:40:56

Если используется WinNT и на диске используется NTFS то можно дать доступ для чтения/записи БД какому-либо пользователю а всем другим пользователям такую возможность обрубить. Соответственно и запускать приложение нужно будет от имени этого пользователя (т.е. пользователя имеющего доступ к БД).

Нафига этот геморрой нужен если любая стандартная БД позволяет использовать парольный доступ (например Access через механизм DAO).


Дата: Авг 13, 2003 00:47:48

под W2k/XP набираешь в командной строке gpedit.msc
потом открываешь ветку User Configuration\Administrative Templates\System\Ctrl + Alt + Del Options\. Здесь можно запретить вызовы Task Manager и остальных кнопок.

Однако существует следующий способ доступа к файлам, достаточно открыть стандартный диалог FileOpen(Save) (Например через Help, или гиперссылка в стандартном About Dlg->Лицензионное соглашение открывает блокнот). При открытии .chm в меню можно открыть Internet Options (если не заблокирована соответствующая политика) View Temporary Files открывает Explorer.

Делайте выводы,Sk. Inc.


Дата: Авг 13, 2003 00:50:25

Вспомнил еще способ, даже при заблокированных Win Logo Key всегда доступна комбинация Win Logo Key + U которая вызывает Utility Manager. А там есть кнопочка Help :))

Лечилось удалением програм utilman.exe, sethc.exe, access.cpl из дистрибутива, system32, dllcache Windows.


Дата: Авг 13, 2003 13:59:03

Спасибо всем, кто помогал в решеии данной проблемы.
Я думаю, что использование БД с парольным доступом - наиболее правильный выход.
Предлагаю закрыть тему.


Дата: Авг 13, 2003 14:39:30

Sk. Inc.
Так закройте :)))
Там кнопочка внизу :)