Если спаять такое устройство на каком-нибудь МК. И подключать вместо мыши к USB или PS/2. (Скорость МК пускай не ограничена).
Написать прошивку для МК.
А на комп написать приложение, но с минимальной интеграцией в систему. То есть не драйвер. Лучше цикл с вызовами WinAPI — GetAsyncKeyState, GetCursorPos.
Какая может быть максимальная скорость передачи?
Данные только в одном направлении — ОТ устройства к компу.
Можно использовать любые кнопки мыши, колесико и движения курсора — все, что можно отловить на уровне WinAPI.
P.S. Задача — обойти блокировку съемных носителей, COM/LPT-портов и т.д.
Есть и другие, более адекватные идеи по решению проблемы. Но во всем остальном есть сомнения, что удастся. Хотя, винда всего лишь WinXP x86.
В этом же варианте — сомнений нет. Ну, не знаю, может, есть какой-то uid у каждой мыши, но вряд ли там нормальная криптография... Да и в любом случае все данные можно считать компом с неограниченным доступом и "вшить" в МК...
Здравствуйте, sergey77666, Вы писали:
S>Если спаять такое устройство на каком-нибудь МК. И подключать вместо мыши к USB или PS/2. (Скорость МК пускай не ограничена). S>Написать прошивку для МК.
USB1 ~1Mb/s
USB2 ~20-30Mb/s
USB3 заявлено до 600Мб/с
ps/2 max 1kb/s если по 3 байта на пакет то 200..300Hz
fdd 27кб/сек
audio 44kHz*16bit mono -> 10знач бит -> max ~88кбит ( модемы 56кбит выжимали даже 115.2 некоторые )
S>А на комп написать приложение, но с минимальной интеграцией в систему. То есть не драйвер. Лучше цикл с вызовами WinAPI — GetAsyncKeyState, GetCursorPos.
Чем обычные флешки не устраивают или сеть или бт/вифи?
S>Какая может быть максимальная скорость передачи?
S>Данные только в одном направлении — ОТ устройства к компу.
Можно веб камерой прикинуться и гнать нежатые кадры.
Или геймпадом с кучей осей и кнопок.
S>Можно использовать любые кнопки мыши, колесико и движения курсора — все, что можно отловить на уровне WinAPI.
Cкорость кнопок клавиатуры 30Hz. От мыши можно 1000 пакетов/сек.
S>P.S. Задача — обойти блокировку съемных носителей, COM/LPT-портов и т.д.
А зачем вы их заблокировали?
S>Есть и другие, более адекватные идеи по решению проблемы. Но во всем остальном есть сомнения, что удастся. Хотя, винда всего лишь WinXP x86.
Сеть, стеганография
Набор на клавиатуре с листка hex кода (~0.9 byte/sec => 3кб/час)
S>В этом же варианте — сомнений нет. Ну, не знаю, может, есть какой-то uid у каждой мыши, но вряд ли там нормальная криптография... Да и в любом случае все данные можно считать компом с неограниченным доступом и "вшить" в МК...
Здравствуйте, sergey77666, Вы писали:
S>Если спаять такое устройство на каком-нибудь МК. И подключать вместо мыши к USB или PS/2. (Скорость МК пускай не ограничена). S>Написать прошивку для МК. S>А на комп написать приложение, но с минимальной интеграцией в систему. То есть не драйвер. Лучше цикл с вызовами WinAPI — GetAsyncKeyState, GetCursorPos.
Если притворяться именно мышью (или клавиатурой), то максимально достижимая скорость — несколько КБайт/сек. Мышь это класс HID, он всегда работает как USB1, и по прерываниям, не более 1 пакета в миллисекунду. Размер пакета от мыши не знаю, но наверняка он стандартный и вряд ли больше нескольких байт. Можно притворяться абстрактным HID устройством, драйвера в этом случае не нужны, но придется написать inf файл. Данные можно получать через HidD_GetFeature() из hid.dll. В этом случае можно сделать свой дескриптор размером близким к 1КБ и попытаться достичь скорости 1МБит/сек, только ОС это может не понравиться.
Но еще лучше притвориться устройством класса CDC, драйвера для этого тоже не нужны (начиная с XP), и скорость в этом случае ограничена только пропускной способностью USB. Данные получать через ReadFile() как из обычного COM порта.
Re[2]: Передача данных через устройство, имитирующее мышь
Здравствуйте, kov_serg, Вы писали:
_>Набор на клавиатуре с листка hex кода (~0.9 byte/sec => 3кб/час)
Пусть устройство прикинется сначала клавиатурой. Наберёт на ней приложение. А потом переключится в мышь/камеру/ит.д. с которой будет работать "набранное" приложение.
ЗЫ: будет весело если система защиты среагирует на внезапную дополнительную "клавиатуру" требованием набрать на ней PIN-код
S> Но еще лучше притвориться устройством класса CDC, драйвера для этого тоже не нужны (начиная с XP), и скорость в этом случае ограничена только пропускной способностью USB. Данные получать через ReadFile() как из обычного COM порта.
Из исходной мессаги ТС следует что COM порты тоже заблокированы.
Предлагаю эмулировать USB headset. С "микрофоном" и "наушниками". USB headset-ы то явно блокировать не будут. Не уверен правда что можно получить bit perfect каналы в обе стороны штатными средствами, но это не большая проблема — модемные протоколы с такими проблемами справятся на раз-два. Можно даже продолжить — вообще, зачем паять USB девайс -это же тоже некоторое палево. Можно использовать имеющуюся звуковуху + внешний плеер/записыватель
экстремальные идеи на тему использования имеющихся девайсов для обхода анальной изгороди
- дуплексный видео канал: последовательность QR кодов на экране компа перед видеокамерой мобильника и на экране мобильника перед веб камерой
— вывод инфы клавой: обычно на клаве у нас есть три лампочки — три лампочки это целых три бита, которые можно записать на видео и потом декодировать
— ввод инфы мышкой: тут надо небольшое исследование на тему можно ли заставить мышку думать что поверхность под ней движется, рисуя ей на экране мобильника движущуюся текстуру. Полагаю с лазерными мышами не прокатит, а вот с обычной оптикой с красным светодиодом — пуркуа бы и не па. Если сработает — что делать дальше — очевидно.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, sergey77666, Вы писали:
S>P.S. Задача — обойти блокировку съемных носителей, COM/LPT-портов и т.д. S>Есть и другие, более адекватные идеи по решению проблемы. Но во всем остальном есть сомнения, что удастся. Хотя, винда всего лишь WinXP x86.
Что мешает загрузиться с флешки и забить на WinXP с блокировкой?
Re[2]: Передача данных через устройство, имитирующее мышь