Да.
Я был очень доволен программным обеспечением от HHD . Несколько лет назад я использовал монитор последовательного порта, чтобы выполнить тяжелый реверс-инжиниринг, и программное обеспечение HHD было хорошо приспособлено для этой работы.
Я баловался с их версией USB-сниффера, но никогда не покупал полную версию. Когда-то была бесплатная пробная версия, которая была несколько полезной. У них все еще может быть это.
Во всяком случае, я получил по USB через голову, потому что я не мог понять, как сделать «драйвер» в Windows. Если вы используете Linux, проект может быть немного проще, поскольку вся эта логика ввода-вывода драйвера низкого уровня легко доступна в коде ядра. Кроме того, Linux 2.6 предлагает некоторые устройства в каталоге / dev, которые можно использовать для прямой отправки / получения на USB-устройство без каких-либо специальных модулей / драйверов. Отлично подходит для развития.
Обратное проектирование USB может быть проблемой; есть много данных для сортировки.
Во-первых, вы должны понять протокол; Я нашел USB в двух словах, чтобы быть довольно хорошим.
Тогда вам нужен какой-то способ сбора трафика и его анализа. Требуется, по крайней мере, некоторое программное обеспечение и, возможно, некоторое оборудование. Я использую аппаратный USB-анализатор на работе, но они дорогие. Я знаю, что можно использовать Virtualbox и собирать USB-трафик в Linux, но я никогда не делал этого. Вы можете начать с Virtual USB Analyzer .
источник
Я думаю, что вы используете USB-ключи, используемые для защиты программного обеспечения. Они не используют стандартные классы устройств USB HID или MASS STORAGE и обычно реализуют свой собственный протокол и предоставляют собственный драйвер на стороне ПК для связи с ними. Приложение для ПК обычно просит их правильно ответить на отправленное зашифрованное сообщение, или они предоставляют некоторую критическую информацию, которой нет в приложении для ПК, которая необходима приложению для корректной работы. Эти сообщения можно прослушать, как и все остальное через USB, но будьте осторожны, так как вы можете идти по краю. Изучение USB - это одно, но публикация работ, которая нарушает защиту программного обеспечения, не является законной и будет преследоваться по закону. Не делай этого. Я прошу прощения, если я неправильно понял вопрос.
источник
Вы можете анализировать трафик USB с помощью Wireshark: http://wiki.wireshark.org/CaptureSetup/USB
Wireshark - это бесплатное программное обеспечение, наиболее известное благодаря своим возможностям анализа сети, но с некоторого времени оно также выполняет анализ USB.
источник
Немногие известные хакеры (которые занимаются разработкой игровых приставок) в настоящее время разрабатывают инструмент для анализа протокола USB. Это называется OpenVizsla. В настоящее время он находится в стадии разработки, но вскоре будет завершен. Это полный проект с открытым исходным кодом.
Проверьте эту ссылку http://www.kickstarter.com/projects/bushing/openvizsla-open-source-usb-protocol-analyzer/posts
источник
У Adafruit есть учебное пособие по обратному проектированию USB-устройства (Kinect) http://www.ladyada.net/learn/diykinect/
источник
Есть тонны программных и аппаратных решений. Захват данных и анализ не является проблемой, однако вам необходимо понять, что находится на USB-накопителе. Я видел людей, разрабатывающих USB-флешки со встроенными процессорами и шифрованием AES. (Локально зашифровано / расшифровка). Не зная, что именно представляет собой USB-накопитель, сложно понять, что именно вы можете узнать из трафика.
источник