Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.03;
Скачать: CL | DM;

Вниз

Блокировка работы   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.016 c
8-8543
Xeon
2003-04-30 06:57
2003.11.03
Просмотр видео


1-8412
СержК
2003-10-22 14:20
2003.11.03
Нажатие Delete


1-8432
Dolphin
2003-10-22 08:48
2003.11.03
Нормальный вид строк From, To, Subject из EML и MSG


3-8277
denmin
2003-10-13 11:19
2003.11.03
Помогите. Печать структуры Paradox.


1-8531
Slavian
2003-10-24 17:22
2003.11.03
Tstrings - создание