Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Блокировка

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
InStream



Зарегистрирован: 23.06.2005
Сообщения: 8

СообщениеДобавлено: Вс Авг 14 2005 22:51    Заголовок сообщения: Блокировка Ответить с цитатой

Необходимо ограничить доступ к портам и устройствам подключенным к ним. Ограничить com, lpt и usb порты. Суть: сделать невозможным использование внешних устройств, например модемов, внешних накопителей (флешки, переносные жесткие диски и т.д.). Но при необходимости (допустим по паролю - но это не суть проблемы) разблокировать нужный порт и разрешить его использование. Собственно метод блокировки не столь важен, главное сделать невозможным использование портов и устройств подключенных к ним. Пока нашел только функции OpenDriver и CloseDriver. Насколько понял OpenDriver позволяет передать драйверу команду DRV_DISABLE и DRV_ENABLE отключающих и включающих драйвер. Но не могу разобраться с их работой, а в сети практически не нашел информации на эту тему. Если кто то сталкивался с подобной задачей прошу помочь любым способом (советы, ссылки, примеры – кто чем может Smile ). Программу пишу на VB, под 98/2000/XP.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
McZim



Зарегистрирован: 09.08.2005
Сообщения: 275
Откуда: Omsk

СообщениеДобавлено: Пн Авг 15 2005 05:29    Заголовок сообщения: Ответить с цитатой

Для винды порты это тоже самое что и файлы, т.е. работа с портами осуществляется так же как и с портами! например в с++ CreateFile(...параметры...) применяется как для портов так и для файлов!
Попробуй порыть в эту сторону!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
InStream



Зарегистрирован: 23.06.2005
Сообщения: 8

СообщениеДобавлено: Пн Авг 15 2005 23:55    Заголовок сообщения: Ответить с цитатой

Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Public Const OPEN_EXISTING = 3
Public Const FILE_SHARE_NOSHARE = &H0

FileName="COM1"
hPort = CreateFile(FileName, GENERIC_READ, FILE_SHARE_NOSHARE, 0, OPEN_EXISTING, 0, 0)
успешно блокирует доступ к порту, а
CloseHandle hPort
успешно снимает блокировку, точнее закрывает поток использующий порт с параметром _NOSHARE.

Ну и как водится тут же возникли новые вопросы Very Happy

С ком и лпт портами все понятно, а как закрыть usb? Или для этого все же стоит разбираться с OpenDriver/CloseDriver? И как определить какое устройство висит на порте, что бы допустим не отключить мышь или принтер? Как, допустим, просмотреть ветку "Принтеры" или "Мыши и другие..." в "Диспетчере устройств" XP/2000?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
InStream



Зарегистрирован: 23.06.2005
Сообщения: 8

СообщениеДобавлено: Чт Авг 18 2005 23:44    Заголовок сообщения: Ответить с цитатой

Допустим через порт (usb,com,lpt) передается файл, возможно ли определить его имя, путь и в случае необходимости отменить передачу?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
McZim



Зарегистрирован: 09.08.2005
Сообщения: 275
Откуда: Omsk

СообщениеДобавлено: Пт Авг 19 2005 04:42    Заголовок сообщения: Ответить с цитатой

Для того что-бы тебе отловить какой-нить файл, тебе нужно написать обычный монитор и повешать его на порт (только ты должен обязательно знать на какой порт и с какой скоростью). Про USB ничего не могу сказать, только то что там происходит управление через драйвера, удобнее всего написать самогу драйвер!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
InStream



Зарегистрирован: 23.06.2005
Сообщения: 8

СообщениеДобавлено: Пт Авг 26 2005 22:14    Заголовок сообщения: Ответить с цитатой

Короче как я понял, под такие вещи надо Си Wink
Может посоветуете откуда брать информацию по портам и написанию драйверов?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
McZim



Зарегистрирован: 09.08.2005
Сообщения: 275
Откуда: Omsk

СообщениеДобавлено: Пн Авг 29 2005 06:49    Заголовок сообщения: Ответить с цитатой

Ynadex.ru Google.com.ru Rambler.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...