Рубрика «HID»

Без Стива Джобса Apple стала часто идти на компромиссы. И вот что случается, когда из компании уходит человек, который способен говорить «Нет» не до конца проработанным решениям:

Гайдлайны Apple для iOS-приложений устарели - 1

Но сегодня я хочу обратить внимание на UI/UX проблему iPhone 6 и 6 Plus, которая существует уже более 2-х лет и которую большинство UI/UX дизайнеров игнорируют.
Читать полностью »

Подключаем авиамодельный пульт к компьютеру с помощью STM32 CubeMX, или PPM-to-USB адаптер на STM32F3-Discovery - 1

В этой статье я расскажу, как:

  • Создать проект в STM32CubeMX и настроить таймеры для захвата внешних сигналов.
  • Декодировать PPM-сигнал с авиамодельного пульта.
  • Сделать Human Interface Device на STM32 и написать свой HID Report Descriptor.
  • Полетать в симуляторе на гоночном квадрокоптере. :)

Читать полностью »

Только что пришла мне в голову мысль — можно ли подключить ноутбук по Bluetooth к телефону/планшету/etc, чтобы можно было печатать текст на компьютере, а передавались нажатия клавиш на мобильное устройство.

Оказывается, это уже реализовано в виде готовой программы, которую получилось достаточно быстро нагуглить по запросу linux emulate bluetooth mouse.

Называется она hidclient. Работает на Linux-компьютерах с Bluetooth.

Теоретически, передавать таким образом события с клавиатуры или мышки можно на любое устройство, которое поддерживает подключение HID-устройств по Bluetooth. На практике я попробовал это с iPod — прекрасно работает.
Читать полностью »

Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

Три «замечательных» уровня стека USB

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

Не сильно полезный стек USB

Разбираем и собираем обратно стек USB

Уровень шины, логический, функциональный… Это, конечно, замечательные абстракции, но они скорее для тех, кто собирается делать драйвер или прикладной софт для хоста. На стороне же микроконтроллера я ожидаю шаблонный конечный автомат, в узлы которого мы обычно встраиваем свой полезный код, и он сперва будет по всем законам жанра глючить. Или же глючить будет софт на хосте. Или драйвер. В любом случае кто-то будет глючить. В библиотеках МК тоже с наскока не разобраться. И вот я смотрю на трафик по шине USB анализатором, где происходящие события на незнакомом языке с тремя замечательными уровнями вообще не вяжутся. Интересно, это у меня от гриппозной лихорадки в голове такой диссонанс?

Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:

Разбираем и собираем обратно стек USB

Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
Читать полностью »

Не так давно выиграл проект на Elance — сделать простое WinForms приложение на Visual Basic, которое будет отображать данные с весов Mettler Toledo PS60.
К счастью, данные весы являются HID-устройством, подключаемом по USB.
В этом посте я опишу как работать с подобными HID устройствами в Visual Basic (да и вообще в .Net)

Читать полностью »

Evil USB HID эмулятор или просто Peensy
Интересным вектором атак является использование USB HID эмуляторов клавиатуры (и мышки) в корпусе стандартной USB флешки. И если autofun.inf на флешке мы уже научились как-то искать и уничтожать, то с HID эмуляторами все пока что плохо.

Для тех, кто не знаком ещё с этой темой, я рекомендую прочитать для начала хабростатью "Боевой HID-эмулятор на Arduino". Тут я не буду касаться вопросов установки и настройки среды программирования Arduino, а лучше чуть-чуть расскажу про продвинутое использование Peensy (Pentest+Teensy).
Читать полностью »

image
За последние годы многие стали с некоторой осторожностью относиться к съемным носителям данных. И вполне обоснованно. Ведь все так или иначе встречались с autorun.inf в корне флешки. Но, к сожалению, автозапуск с носителя – далеко не единственный вектор атаки при подключении устройства. При поведении внутренних тестов на проникновение, нередко возникает необходимость поверить и продемонстрировать заказчику все возможные векторы, в том числе обход device-lock’ов.
Под катом рассмотрим пример устройства на arduino-подобном МК, эмулирующего HID-клавиатуру, с последующим выполнением кода на атакуемой системе.
Читать полностью »