|
Вопрос # 662/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
При подключении USB устройства, запрашиваются дескрипторы устройства, интерфейса, конфигурации, конечных точек и т.д. Можно ли перехватить ответы устройства на запрос дескрипторов?И как это сделать?
 |
Вопрос задала: Катерина (статус: Посетитель)
Вопрос отправлен: 23 июня 2007, 21:01
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, Катерина!
Если нужно именно перехватить эти данные, т.е. получить их до того, как их получит система и иметь возможность изменить, перед тем как передать системе - в таком случае потребуется I/O драйвер, в DDK называемый "прослойкой" (в layered drivers), задача будет выбирать IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, и в ответах смотреть/изменять нужную информацию. В DDK есть несколько примеров. За помощью обращайтесь на http://www.wasm.ru.
Из уровня приложений же можно определить момент подключения USB устройства с помощью сообщения WM_DEVICECHANGE, а чтобы получать сообщения только о USB, и дополнительную информацию (например имя логичекого диска), нужно установить Notification с помощью RegisterDeviceNotification.
Небольшой код, откуда следует начать копать см. в прикреплённом файле, Вам нужно поискать среди структур, подобных _DEV_BROADCAST_HEADER (описания в MSDN или в dbt.h из MSVS 2005) и попробовать вытащить через них нужную информацию, если это возможно.
Извините, дальше разбираться нет времени. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 4 июля 2007, 21:08; участников в обсуждении: 2.
|
Матвеев Игорь Владимирович (статус: Студент), 4 июля 2007, 10:30 [#1]:
Есть хорошая программа USBlyzer - http://www.usblyzer.com/, которая представляет собой анализатор протокола USB. Позволяет получить самую полную информацию обо
всех подключенных USB устройствах и
их компонентах, перехватить, расшифровать и просмотреть важную информацию, передаваемую через
USB стек, разобраться, как взаимодействуют между
собой пользовательские приложения и
USB драйвер устройства.
Уверен, программа будет Вам полезна.
|
|
Катерина (статус: Посетитель), 4 июля 2007, 21:08 [#2]:
Огромное, Вам спасибо! программа действительно отличная. И мне пришлась очень кстати.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|