Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
3-8286
Andrei
2003-10-14 17:40
2003.11.03
Access,MSSQL,Delphi


1-8510
MaG
2003-10-23 19:29
2003.11.03
Резка Формы


14-8607
MalkoLinge
2003-10-14 17:42
2003.11.03
Пропал Акжан Абдулин !!!!!!!!!!!!!!!


1-8348
MaXie
2003-10-23 12:01
2003.11.03
Как дождаться завершение приложения?


14-8597
kingdom
2003-10-15 12:41
2003.11.03
Ищу email-подписку на хороший журнал по программированию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский