Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Информация о Flash-накопителе.

10K
11 июля 2006 года
Sonic_amiga
34 / / 19.06.2006
Имеется задачка. Бьюсь уже второй день, безрезультатно.
Итак, имеем USB-Flash, на ней некие данные, зашифрованные. Требуется обеспечить защиту накопителя от полного копирования, использовав в ключе VendorID, ProductID и серийный номер флешки.
Отсюда задача: узнать оные характеристики.
Путь первый: используем на драйве IOCTL_STORAGE_QUERY_PROPERTY для получения STORAGE_DEVICE_DESCRIPTOR. В дескрипторе вроде бы имеются эти параметры. На деле же оно имеет смысл судя по всему только для SCSI. Для IDE поле Vendor пустое (NULL), поле Product содержит модель накопителя, полученную от него по команде Identify, поле SerialNo также пустое. Для USB - еще круче. Vendor = "USB", Product = "Flash disk" и серийника опять же нету.
Вычитал в DDK и Инете про IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, пробую его но он на моих флешках попросту не работает. Дальнейшее изучение вопроса показало, что он во-первых работает только на WinXP SP1 (ну это у меня есть), а во-вторых только если флешка поддерживает SCM-1. (Security content management). Все, на этом путь №1 зашел в тупик.
Путь второй: лезем в дерево USB-устройств в точности так же, как это делает программа USBView. Тут все в порядке, я вижу воткнутые флешки, их идентификационную информацию, но как теперь имея имя хаба и номер порта узнать, под каким именем смонтирована торчащая там флешка? IOCTL_USB_GET_NODE_CONNECTION_NAME дает пустую строку, видимо оно работает только на тех портах, куда воткнуты внешние хабы.
Что делать? Или задача не имеет решения?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог