Форум: "Система";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизБлокировка работы Найти похожие ветки
← →
Nick_Omsk (2003-08-16 22:18) [0]Пишу прогу для интернет-кафе. По истечении времени комп перегружается. Многих заказчиков не устраивает, хотят чтобы как-нибудь блокировалась работа. Пробовал полноэкранное приложение чтобы всегда было поверх окон, но такие же окна могут переключаться между собой. Пробовал ShellExecute(..."Rundll32.exe keyboard,disable"...), но включить не могу, может кто-нибудь посоветует что-нибудь, буду рад
← →
Marser (2003-08-17 12:02) [1]blockinput
← →
Dobriy (2003-08-17 12:09) [2]Серьёзной темой ты занимаешся.
Для этого надо блокировать CTRL-ALT-DEL, ALT-TAB и другие кнопки.
Тут нужен HOOk на клавиатуру. Поищи по этим словам много найдёшь
← →
Marser (2003-08-17 12:12) [3]Насколько я знаю, под свежими Виндами CAD не блокируется.
← →
Дмитрий В. Белькевич (2003-08-18 01:09) [4]Для Nick_Omsk: правильно, что не нравится.
Для Marser: blockinput лично у меня 3-4 игры не блокирует. Чем дети, блин, и пользуются :( Играм, напрямую читающим порты (и фару в т.ч.) глубоко на этот блокинпут.
Для Dobriy: hook в общем случае неэффективен для блокировки и работает не всегда. Всякий бред с псевдовключениями скриншотов не работает никогда. Единственный вариант навсегда заткнуть эти кнопки - vxd.
Для Marser: вот самому интересно, sys заблокирует всё, что угодно, как vxd под 9x?
← →
Marser (2003-08-18 01:32) [5]Не знаю, с 9х пока не вылез :-)
← →
Дмитрий В. Белькевич (2003-08-19 01:04) [6]Угу :) Я тоже на XP никак не перелезу, хотя дома уже давно стоит. Для клуба win98se пока имхо оптимальный вариант. Как подумаю, что под админовскими правами 60 усеров будет в сети сидеть брррр.... Я сейчас-то оболочку самописанную пользую - никаких проблем. Усеров полностью отделил от файлов. И проблем нет.
← →
sniknik (2003-08-19 15:39) [7]чего я не пойму зачем всегда пытаются запретить, блокировать, подмять систему под себя (она естественно от таких попыток будет уворачиватся ;о)).
а разве нельзя просто вызвать стандартный скринсейвер? там у него галочка "защита паролем", юзеру придется вводить, для разблокировки. разве нет?
сорри если "не в кассу", никогда этим не занимался.
← →
Nick_Omsk (2003-08-19 16:19) [8]Уважаемые мастера (особенная благодарность для Dobriy), по поводу Hookа, в полне приемлемая вещь и достаочно интересная, если с Hookом не получается я всётаки перегружаю, удалось убедить ржавого чайника Admina, что в помещении повышенная влажность, что способствует большему скоплению пыли на радиаторе проца, что с свою очередь приводит к повышению FSB поимерно на 10 в -6 степени на клаве радиатора нет, поэтому рассинхронизация. Но вот другая проблема, можно ли при усутановке Hooka поменять код клавиши? Если да то как, и если можно примерчик. Заранее благодарен.
← →
Дмитрий В. Белькевич (2003-08-19 21:19) [9]
> никогда этим не занимался.
Займешься - узнаешь. Особенно классно, когда усеры случано (?) сносят все игрухи на сервере. Потом - только стрелятся. У нас, правда, такого никогда не было, т.к. до файловой системы добраться нельзя.
Для Nick_Omsk: на vxd это делается элементарно - пара ассемблерных команды. Помню как-то баловался ;)
← →
Nick_Omsk (2003-08-20 05:35) [10]Для Дмитрий В. Белькевич ©. Наводку на VXD кинь пожалуйста, если не сложно.
← →
Prov (2003-08-20 17:18) [11]Если что, можно и мне скинуть vxd ? Пожалуйста...
А вообще-то, кто-то из моих знакомых писал заглушку под MsGina.dll - и вроде бы как получилось перехватить Ctrl+Alt+Del ^)).
Могу посоветовать, как делал я - посылал каждые пол-секунды команду BlockInput
← →
DeadMeat (2003-08-20 17:37) [12]А я не понимаю зачем блокировать "три пальца" по Win2k/XP...?? Ведь достаточно заблокировать сам TaskManager и всё... А делается это гораздо проще... И окно типа "...эту хрень админ закрыл..." не выскакивает, а это всё что нужно для нормального блока (ну ещё мыша и остальная клава конечно)... Может я в чём ошибаюсь, но такой вариант у меня работает почти идеально и уже довольно долго и надёжно...
← →
Дмитрий В. Белькевич (2003-08-21 05:15) [13]
;VXD blocking ctrL+alt+del, ctrl+esc, ctrl+tab etc
;(с) All Rights Reserved Dmitry Belkevich dmbel@mail.ru
;Distributed As Is without any guaranties.
;VXD блокирует ctrL+alt+del, ctrl+esc, ctrl+tab, и т.д.
;(с) Все права Дмитрий Белькевич dmbel@mail.ru
;Распространяется "как есть" без всяких гарантий.
MASM=1
.386p
.XLIST
INCLUDE VMM.Inc
INCLUDE vkd.Inc
.LIST
Declare_Virtual_Device Keylock, 1, 0, Keylock_Control, Undefined_Device_ID ,,,
VxD_REAL_INIT_SEG;
;Код инициализации в реальном режиме для win95
BeginProc VxD_Real_Init_Proc
mov ax, Device_Load_Ok
mov bx, 0
mov edx,0
mov si, bx
ret
EndProc VxD_Real_Init_Proc
VxD_REAL_INIT_ENDS
VxD_LOCKED_CODE_SEG
BeginProc KeyLock_KbdProc
cmp CL, 42
je shiftdown
cmp CL, 54
je shiftdown
cmp CL, 29
je ctrldown
cmp CL, 56
je altdown
cmp CL, 42+128
je shiftup
cmp CL, 54+128
je shiftup
cmp CL, 29+128
je ctrlup
cmp CL, 56+128
je altup
cmp cl, 15
je tabdown
cmp cl, 15+128
je tabup
cmp cl, 83
je deldown
cmp cl, 83+128
je delup
cmp cl, 1
je escdown
cmp cl, 1+128
je escup
jmp l3
escdown:
test AltState, 1
jne l1
test CtrlState, 1
je l3
l1:mov cl, 91
jmp l3
escup:
test AltState, 1
jne l2
test CtrlState, 1
je l3
l2:mov cl, 91+128
jmp l3
tabdown:
test AltState, 1
je l3
mov cl, 91
jmp l3
tabup:
test AltState, 1
je l3
mov cl, 91+128
jmp l3
deldown:
test AltState, 1
je l3
test CtrlState, 1
je l3
mov cl, 91
jmp l3
delup:
test AltState, 1
je l3
test CtrlState, 1
je l3
mov cl, 91+128
jmp l3
shiftdown:
mov ShftState, 1
jmp l3
ctrldown:
mov CtrlState, 1
jmp l3
altdown:
mov AltState, 1
jmp l3
shiftup:
mov ShftState, 0
jmp l3
ctrlup:
mov CtrlState, 0
jmp l3
altup:
mov AltState, 0
jmp l3
l3:
push eax
mov eax, dword ptr Prev_KbdProc
call dword ptr eax
pop eax
clc
ret
EndProc KeyLock_KbdProc
BeginProc KeyLock_Device_Init
;Устанавливаем наш перехват
GetVxDServiceOrdinal eax, VKD_Filter_Keyboard_Input
mov esi, offset32 KeyLock_KbdProc
VMMCall Hook_Device_Service
;и получаем предыдущий обработчик
mov dword ptr Prev_KbdProc, esi
clc
ret
EndProc KeyLock_Device_Init
BeginProc KeyLock_Control
Control_Dispatch Init_Complete, KeyLock_Device_Init
clc
ret
EndProc KeyLock_Control
VxD_LOCKED_CODE_ENDS
VxD_LOCKED_DATA_SEG
ShftState db 0
CtrlState db 0
AltState db 0
Prev_KbdProc dw 0
VxD_LOCKED_DATA_ENDS
END
← →
Dobriy (2003-08-21 05:26) [14]Вот ссылка http://www.sources.ru/cpp/system/ctrl_alt_del_winxp.shtml на работающий пример под XP блокировки Alt-tab, CAD и других комбинаций.
правда он на visual c++
← →
Дмитрий В. Белькевич (2003-08-21 05:27) [15]Код неоптимальный. Но работает. Оптимизации не поддается - глюки, если сразу после чтения из памяти делать запись. Mov"ами или or"ами - без разницы. Всё виснет.
> я не понимаю зачем блокировать "три пальца" по Win2k/XP...??
За XP не скажу, а в 98 - очень критично. А в XP будет полезна блокировка Alt-Tab, Alt-Esc, т.к. тот же страйк очень плохо эти комбинации переносит.
Вот, кто бы всё это счастье под wdm переписал, было бы приятно.
← →
DeadMeat (2003-08-21 16:40) [16]> Дмитрий В. Белькевич
За XP не скажу, а в 98 - очень критично.
Оно и понятно, что критично, но там это очень просто, а под Win2k/XP и Alt-Tab, и Alt-Esc, и Ctrl-Esc и все подобные комбинации (кроме CAD) блокируются просто на ура через WH_KEYBOARD_LL...
← →
Дмитрий В. Белькевич (2003-08-22 01:24) [17]Для DeadMeat. Да, увидел в другой ветке. Там же человек, что можно CAD заблокировать. Буду попробовать.
← →
Jiming (2003-08-22 09:40) [18]Привет всем!
Тема старая - и давно уже кем то решенная(в разных вариантах)
Сам 1.5 года назад - занимался этой темой(Управлением компьютерным залом) - ради собственного интереса.
Под 98 - ставил СкеенСервер
Под 2000/ХР - реализовал - Gina.dll
А может стоит пойти уже известным путем - как на западе -
Открыть OpenSource - проэкт - ну и совместными усилиями сделать
работоспособную систему.
Jiming@mail.ru
← →
Карелин Артем (2003-08-22 11:37) [19]Запустить десяток потоков с наивысшим приоритетом. Пусть хоть 2+2 считают. Главное чтобы они все процовое время сьели.
← →
Дмитрий В. Белькевич (2003-08-22 15:37) [20]Народ, что паритесь? Исходники выложены. Все уже два года как работает. А на счет десятков процессов - жалко мне процессора. Итак, бедняга, в играх потеет, пусть хоть немного отдохнет. А ты ему - процессы.
← →
Виталий (2003-08-22 19:31) [21]Я тоже сталкивался с подобным, писал для клуба.
Во-первых, если работаетшь в 2000 или ХР, то масса вещей есть в самой операционке. Посмотри политику безопасности для 2К, там можно отменить активацию диспетчера задач, запуск некоторых программ, короче много всякого.
Во-вторых, действительно можно через HOOK блокировать клавиатуру. Серверная часть у админа, клиентская на компах и т.п. Правда такая программа может легко сниматься в 98, и тут ниче не поделаешь, недочет операционки. Программа может только перед своей "смертью" сообщить админу что над ней надругались.
И в третьих, надо обязательно ставить на админовскую машину NT-операционку. Тогда по правам пользователей можно и от записи на винт защититься и т.п.
З.Ы. Будешь в клубе - застрели за меня парочку демонов в ДООМе
Правы старшие товарищи, есть уже и готовые программы, только вот исходников их я не видел сколько ни искал :=(
← →
Дмитрий В. Белькевич (2003-08-22 20:37) [22]
> Я тоже сталкивался с подобным, писал для клуба.
> Во-первых, если работаетшь в 2000 или ХР, то масса вещей
> есть в самой операционке. Посмотри политику безопасности
> для 2К, там можно отменить активацию диспетчера задач, запуск
> некоторых программ, короче много всякого
Это админ может сделать сам для себя? Или для другого админа? Многие игры (например, cs) не запускаются под xp из-под юзерского аккаунта. Хотя полный доступ к реестру пооткрывал. Правда, нужно было filemin"ом и регмоном посмотреть куда cs лезет, и куда его не пускают. Да не было тогда регмона под xp.
> Правы старшие товарищи, есть уже и готовые программы, только
> вот исходников их я не видел сколько ни искал :=(
Ну, блокировку клавы под 9х я выложил. Под 2000+ я так понял, это не очень актуально. Кстати, хуки ctrl+shift+esc перехватывают? Или может можно просто заткнуть диспетчер задач, стерев что?
← →
DeadMeat (2003-08-23 14:01) [23]>Дмитрий В. Белькевич
Я же уже писал же, что перехватывают..., т.е. пепехватыва ет... WH_KEYBOARD_LL перехватывает всё, что угодно... Даже CAD, если в WinXP стоит Use Welcome Screen... И не только перехватывает, но и запретить может... По крайней мере у меня...
← →
Song (2003-08-23 15:27) [24]>>Кстати, хуки ctrl+shift+esc перехватывают?
Да, WH_KEYBOARD_LL
2ALL
все про джину говорят, приведите наконец пример, как нужно модицифировать джину, чтобы CAD блокировался. А то все только на эту джину пиняют (то бишь у кого-то услышали и давай друг другу передавать), а привести пример никак.
← →
Song (2003-08-23 15:29) [25]2DeadMeat © (23.08.03 14:01) [23]
Не обмынывайте людей. Никаким хуком нельзя перехватить, а тем более запретить CAD начиная с w98
← →
DeadMeat (2003-08-23 16:46) [26]>Song
Вопервых, я не говорил про Win98, а только про WinXP (если речь идёт о CAD, при включённом Use Welcome Screen и т.п.) и Win2k (если речь идёт о Ctrl+Esc, Ctrl+Shift+Esc, Alt+Tab и пр.) Повнимательней вчитаётесть в моё замечание...
← →
Dobriy (2003-08-24 10:33) [27]Люди я же дал ссылку на работающий пример.
Для теч кто не понимает с++ объясняю:
1. CAD блокируется в реестре отключением TaskManeger`а
при нажатии на CAD выдаётся сообщение что у вас нет прав воспользоваться этой программой
2.остальные комбинации блокируются хуком
всё просто и работает
но кому не нравится сообщение могу предложить другой вариант:
написать своё подобие Taskman и в режиме SafeMode windows заменить им стандартный TM.
← →
DeadMeat (2003-08-24 11:07) [28]>Dobriy
> написать своё подобие...
Это вовсе не обязательно... надо просто открыть файл Taskmgr.exe с эксклюзивным правом пользования и всё... После этого его не запустит никто, а в CAD его не будет благодаря записи в реестре... Кстати, и окно с сообщением не выскакивает... А на всё остальное - WH_KEYBOARD_LL
← →
Groove (2003-08-25 18:29) [29]хмм... давольнотаки умная беседа, а всёже кто-нибудь может представить рабочий код блокировки Windows NT/2k/XP???
← →
Infinity1 (2003-08-25 18:38) [30]Я блокировал в своей программе хуком. Вроде 100% блокирует и никак не разблокировать. Программу можно скачать на www.oceanbyte.times.lv
← →
Groove (2003-08-25 18:51) [31]Infinity1, а вы не могли бы поделиться кодом блокировки/разблокировки??? всё равно программа фриварная... :)
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.01 c