Тема цієї розробки — альтернативна клавіатура(не qwerty). Але цю клавіатуру як пристрій важко зробити. Тому я покупаю звичайну клавіатуру і наліплюю свої позначки. Така модернізована клавіатура працює під редактором — web-програмою, тож хочу щоб при підключенні моєї клавіатури до комп’ютера одразу відкривався цей редактор)
Рискну предположить в чём тема разработки: игорный бизнес. И соответственно, работа на владельцев игорного бизнеса, то есть на бандформирования, и подкорм соответственно самой отмороженной кучи мрази даже по меркам преступного бизнеса. Так что особенно не рекомендовал бы вменяемым людям в это лезть — огромный риск не заплатят, ещё и на счётчик поставят, если чё «не так» работает или якобы не то делает.
Что же до технической части — я бы рекомендовал сделать кое-что другое: на клавиатуре есть дополнительные кнопки. И соответственно, действия под них прекрасно программируются. В числе которых кнопка вызова браузера (очевидно, того, который назначен по-умолчанию). Соответственно, вместо того чтобы что-то вообще встраивать или писать в целевой компьютер, можно — разобрать клаву — взять дешёвый китайский контроллер типа Ардуины и т.п. — запаять его параллельно на контакты дорожек клавы. И методом тыка по клаве разобрать, какие комбинации замыкания дают какие символы. — запрограммировать контроллер после подачи питания через сколько-то там секунд нажать кнопку «интернет», после чего ввести нужный сайт подачей сигналов на вводы как если бы его набрал руками с клавиатуры пользователь сам.
Выгода такого решения в том, что при обыске клаву не изымают (считая лишним мусором). Соответственно доказать ничего не удастся.
Если нужна дополнительная подстраховка, можно собрать простую радио-схему малой мощности. Суть: чтобы радио-датчик подавал импульс на контроллер. А замыкался он только в присутствии излучателя. Нет излучателя — клава работает как обычная клава, и опять же, ничего не докажешь.
Технически ещё можно пережечь контакты контроллера, отвечающие за его прошивку. Чтобы её не смогли прочитать во вменяемые сроки. Но тогда если она слетит или если надо будет вносить правки, придётся ставить новый контроллер. А как догадываешься, адреса онлайн-казино придётся менять по мере их блокировки.
Программно можно связать рабочие станции на уровне роутера с «правильным» DNS в Китае, который перенаправит пользователя куда надо. Ровно ничто не помешает поднять его как сервис на китайском языке, который типа помогает работать быстрее и обещает мир во всём мире. Зачем: чтобы создать имитацию, что просто пользуетесь легальным проектом, а что тот же адрес набранный в другом месте не открывается — так ХЗ, «это вас провайдер блокирует» или министерство правды Украины.
Технически ещё можно пережечь контакты контроллера, отвечающие за его прошивку
Но тогда если она слетит или если надо будет вносить правки, придётся ставить новый контроллер
Для того у мк есть, как минимум, бит защиты от чтения :\ так бы все сливали прошивки с коммерческих продуктов или тырили закрытые ключи шифрования. Кстати, выпалить порт, тем более отдельные его пины, не испортив мк не так то просто, это рулетка. А интерфейсов отладки еще и несколько.
А чому саме при підключенні? Візьми клаву з додатковими кнопками, і відповідно задай по ним що робити через рідний софт работи з клавою чи щось на кшталт цього atnsoft.ru/keymanager
Як нема додаткових кнопок, запрограмуй на кнопку випадіння списку, її майже ніхто не використовує.
Ну так все еще не ясно- система то чья? Есть возможность ставить софт на пк или надо чтобы это работало без предварительной установки ПО, но именно с этой клавиатурой? Если есть- пишите мини сервис под ОС Нет — делаете плату аля USB HID прокси, пихаете в клаву.
Смотря что за ось. Под виндой есть SetupDiGetClassDevs для получение списка устройств и сообщение WM_DEVICECHANGE когда меняется аппаратный конфиг (всунули-высунули), ну и ShellExecute для запуска команды. Если там конкретную клаву определять, то по идее можно просто проверять VID и PID по WM_DEVICECHANGE.
Дык в ТЗ не указано, что это клава «наша», а система 3-й стороны, звучит как ровно наоборот- система «наша», а клавы левые. Юзкейс вообще не понятен, и нигде не вижу уточнений в коментах, так что не факт :) Тогда придется брать stm32 с usb host и написать usb проксю- вскрыть клаву, и в разрыв провода вклеить сей девайс, который ретранслирует пакеты от клавы, но при загрузке сначала сам генерирует последовательности нажатий типа hotkey для runcmd + строку url+ enter.
Та просто апликушку написать, которая будет сидеть сервисом (в винде) ну или демоном в линуксе и детектировать подключение/отключение HID Keyboard. Это если нет требований детектировать PS/2.
Ещё можно сделать смелое допущение, что втыкается единственная клавиатура, а не вторая-третья, и что комп современный, и PS/2 клавиатуру туда не воткнёшь. Поэтому при любом нажатии клавиши можно открывать браузер
Некоторые клавиатуры состоят из нескольких с точки зрения аппаратуры, например, нормальная клава и мультимедийная клава там где кнопка запустить браузер, калькулятор, громкость и т.п.
Перечисленные варианты недостаточно хардкорны и маразматичны. Нужна вебкамера, которая наблюдает за usb-портами, и при втыкании туда предмета, похожего на usb-клавиатуру, запускает браузер и показывает, что нужно. Дип-лёрнинг, компутер-вижен, блокчейн, облака, биг-дата!
1) Берешь клавиатуру с хабом, вставляешь туда флешку, на флешке autorun.inf с ссылкой. 2) Нанимаешь эмбеддера, который делает за 5 центов HID устройство (клавиатуру), которую ты вставляешь в обычную клавиатуру с хабом. Доморощенное HID устройство выдаёт наверх серию комбинаций нажатия клавишь, чтобы открыть проводник, вписать URL и нажать Enter.
Я бы делал по второму варианту, точно антивирусами пропустится. Задержка 10 секунд, потом передать win-r, https://, dou.ua, enter. Если вы сами писали этой клавиатуре чип, то вообще не вопрос. Кстати, наверно можно сделать такую флешку-клаву, которая типа клава, но только програмно без кнопок. Вводит конкретные данные и выключается. Както вот так microsin.net/...-usb/generic-usb-hid.html или так rukodelie-ds.ru/...forum/viewtopic.php?t=804
Не надо ничего запускать, вот именно так работает, я проверил. win+r запускает окно run и там если ввести https адрес браузер по умолчанию запустится. в фаерфоксе в отдельной вкладке даже.
Ну такой набор работает, да. А что вы имеете в виду под hid-файлом — не знаю. Надо сэмулировать этот набор в контроллере клавиатуры или подсоединить через usb switch еще один малый контроллер который распознается как вторая hid клава и введет.
itunes с айпада прекрасно запускается, но они эмулируют CD-ROM поверх USB, что в принципе очень легко сделать с помощью простенького mass-storage эмулятора, которому всего-то нужно нести в себе один файл на ISO9660 файловой системе.
Можно ещё USB-сетевую карту эмулировать, которая будет автоматом получать по DHCP дефолтный маршрут с наивысшим приоритетом, а уже потом любой не-HTTPS запрос можно перенаправлять на нужный
Ну под виндой слушать событие-посчитать HID клавы- запустить ссылку? Да часа 3-4 наверное даже на старых делфях... а что там с кроссплатформенным кейсом хз
58 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівТема цієї розробки — альтернативна клавіатура(не qwerty). Але цю клавіатуру як пристрій важко зробити. Тому я покупаю звичайну клавіатуру і наліплюю свої позначки. Така модернізована клавіатура працює під редактором — web-програмою, тож хочу щоб при підключенні моєї клавіатури до комп’ютера одразу відкривався цей редактор)
www.instagram.com/andrewkatrus/?hl=uk
win — www.makeuseof.com/...-keyboard-layout-windows
lin — askubuntu.com/...ts-for-international-keyb
mac — superuser.com/...m-keyboard-layout-in-os-x
Platform X — google query “create keyboard layout Platform X”
Рискну предположить в чём тема разработки: игорный бизнес. И соответственно, работа на владельцев игорного бизнеса, то есть на бандформирования, и подкорм соответственно самой отмороженной кучи мрази даже по меркам преступного бизнеса. Так что особенно не рекомендовал бы вменяемым людям в это лезть — огромный риск не заплатят, ещё и на счётчик поставят, если чё «не так» работает или якобы не то делает.
Что же до технической части — я бы рекомендовал сделать кое-что другое: на клавиатуре есть дополнительные кнопки. И соответственно, действия под них прекрасно программируются. В числе которых кнопка вызова браузера (очевидно, того, который назначен по-умолчанию). Соответственно, вместо того чтобы что-то вообще встраивать или писать в целевой компьютер, можно
— разобрать клаву
— взять дешёвый китайский контроллер типа Ардуины и т.п.
— запаять его параллельно на контакты дорожек клавы. И методом тыка по клаве разобрать, какие комбинации замыкания дают какие символы.
— запрограммировать контроллер после подачи питания через сколько-то там секунд нажать кнопку «интернет», после чего ввести нужный сайт подачей сигналов на вводы как если бы его набрал руками с клавиатуры пользователь сам.
Выгода такого решения в том, что при обыске клаву не изымают (считая лишним мусором). Соответственно доказать ничего не удастся.
Если нужна дополнительная подстраховка, можно собрать простую радио-схему малой мощности. Суть: чтобы радио-датчик подавал импульс на контроллер. А замыкался он только в присутствии излучателя. Нет излучателя — клава работает как обычная клава, и опять же, ничего не докажешь.
Технически ещё можно пережечь контакты контроллера, отвечающие за его прошивку. Чтобы её не смогли прочитать во вменяемые сроки. Но тогда если она слетит или если надо будет вносить правки, придётся ставить новый контроллер. А как догадываешься, адреса онлайн-казино придётся менять по мере их блокировки.
Программно можно связать рабочие станции на уровне роутера с «правильным» DNS в Китае, который перенаправит пользователя куда надо. Ровно ничто не помешает поднять его как сервис на китайском языке, который типа помогает работать быстрее и обещает мир во всём мире. Зачем: чтобы создать имитацию, что просто пользуетесь легальным проектом, а что тот же адрес набранный в другом месте не открывается — так ХЗ, «это вас провайдер блокирует» или министерство правды Украины.
Для того у мк есть, как минимум, бит защиты от чтения :\ так бы все сливали прошивки с коммерческих продуктов или тырили закрытые ключи шифрования. Кстати, выпалить порт, тем более отдельные его пины, не испортив мк не так то просто, это рулетка. А интерфейсов отладки еще и несколько.
кому-то надо показаться к доктору
похоже на депрессию
по себе судят не только лишь все
Клавіатура звичайна куплена в магазині, я хочу щоб при підключенні цієї клавіатури відкривалося посилання — www.geniusideas.com.ua/...sitive_keyboard_hints.php
А чому саме при підключенні? Візьми клаву з додатковими кнопками, і відповідно задай по ним що робити через рідний софт работи з клавою чи щось на кшталт цього
atnsoft.ru/keymanager
Як нема додаткових кнопок, запрограмуй на кнопку випадіння списку, її майже ніхто не використовує.
При возможности ставить софт, можно тогда свой написать, без ничего лишнего.
Ну так все еще не ясно- система то чья? Есть возможность ставить софт на пк или надо чтобы это работало без предварительной установки ПО, но именно с этой клавиатурой?
Если есть- пишите мини сервис под ОС
Нет — делаете плату аля USB HID прокси, пихаете в клаву.
Смотря что за ось. Под виндой есть SetupDiGetClassDevs для получение списка устройств и сообщение WM_DEVICECHANGE когда меняется аппаратный конфиг (всунули-высунули), ну и ShellExecute для запуска команды. Если там конкретную клаву определять, то по идее можно просто проверять VID и PID по WM_DEVICECHANGE.
все тот же вопрос. а к то будет эту апликуху ставить везде?
Тот-же человек, который будет подключать именно эту доработанную клавиатуру. А не какую-то другую.
Это же клавиатура. Пусть сама набирает ссылку.
Ато так можно просто человека к ней поставить, который будет подключать и открывать ссылку.
Дык в ТЗ не указано, что это клава «наша», а система3-й стороны, звучит как ровно наоборот- система «наша», а клавы левые. Юзкейс вообще не понятен, и нигде не вижу уточнений в коментах, так что не факт :)
Тогда придется брать stm32 с usb host и написать usb проксю- вскрыть клаву, и в разрыв провода вклеить сей девайс, который ретранслирует пакеты от клавы, но при загрузке сначала сам генерирует последовательности нажатий типа hotkey для runcmd + строку url+ enter.
а вы гурман
А чому чеською? Дивись українське!
есть еще такая штука.
но вот если бы я купил клавиатуру и она бы при подключении что то там слала то сразу же продавцу предьявил бы
Та просто апликушку написать, которая будет сидеть сервисом (в винде) ну или демоном в линуксе и детектировать подключение/отключение HID Keyboard. Это если нет требований детектировать PS/2.
Чи це реально, може потрібно вже саму клавіатуру(як пристрій) заказувати? Хочеться простий мінімальний варіант.
Ещё можно сделать смелое допущение, что втыкается единственная клавиатура, а не вторая-третья, и что комп современный, и PS/2 клавиатуру туда не воткнёшь. Поэтому при любом нажатии клавиши можно открывать браузер
Некоторые клавиатуры состоят из нескольких с точки зрения аппаратуры, например, нормальная клава и мультимедийная клава там где кнопка запустить браузер, калькулятор, громкость и т.п.
главное что физически в одном корпусе
Перечисленные варианты недостаточно хардкорны и маразматичны. Нужна вебкамера, которая наблюдает за usb-портами, и при втыкании туда предмета, похожего на usb-клавиатуру, запускает браузер и показывает, что нужно. Дип-лёрнинг, компутер-вижен, блокчейн, облака, биг-дата!
Я бы предложил использовать кинект, т.к. у него есть моторы и можно камерой проследить по шнурку, а клавиатуру ли воткнули.
А ещё звук втыкания штекера в USB порт достаточно уникален, как и клацания клавиш, можно распознавать нейросетями
Который слушает звук, и включает нужные сайты по звуку фап-фап.
А как же бигдата? А что ты думаешь делает камера в это время :)
можно написать соответствующее правило udev
це тільки для Linux? А мені й для вінди треба теж
А Винду поставить в виртуалку внутри Линукс
И показывать детям как пугало
В пугало ставят embedded linux
Снятся ли андроидам электроовцы?
дискретная логика уже не в моде, да? )
1) Берешь клавиатуру с хабом, вставляешь туда флешку, на флешке autorun.inf с ссылкой.
2) Нанимаешь эмбеддера, который делает за 5 центов HID устройство (клавиатуру), которую ты вставляешь в обычную клавиатуру с хабом. Доморощенное HID устройство выдаёт наверх серию комбинаций нажатия клавишь, чтобы открыть проводник, вписать URL и нажать Enter.
Дякую, Майк, перший варіант підходить)
Я бы делал по второму варианту, точно антивирусами пропустится.
Задержка 10 секунд, потом передать win-r, https://, dou.ua, enter.
Если вы сами писали этой клавиатуре чип, то вообще не вопрос.
Кстати, наверно можно сделать такую флешку-клаву, которая типа клава, но только програмно без кнопок. Вводит конкретные данные и выключается.
Както вот так microsin.net/...-usb/generic-usb-hid.html
или так rukodelie-ds.ru/...forum/viewtopic.php?t=804
Послать код кнопочки запустить браузер :)
Не надо ничего запускать, вот именно так работает, я проверил.
win+r запускает окно run и там если ввести https адрес браузер по умолчанию запустится.
в фаерфоксе в отдельной вкладке даже.
тобто зробили цей HID-файл на флешці а він виконує команду win-r, https://, dou.ua, enter. І працює?
Ну такой набор работает, да.
А что вы имеете в виду под hid-файлом — не знаю.
Надо сэмулировать этот набор в контроллере клавиатуры или подсоединить через usb switch еще один малый контроллер который распознается как вторая hid клава и введет.
Але антивірус блокує й видаляє цей авторан
itunes с айпада прекрасно запускается, но они эмулируютCD-ROM поверх USB, что в принципе очень легко сделать с помощью простенького mass-storage эмулятора, которому всего-то нужно нести в себе один файл на ISO9660 файловой системе.
такое в 5 центов при самом-самом оптовом заказе не влезет
Угу, вся цель убедить винду в том, что на CD вируса быть не может %)
Который используют производители секьюрных флешей и эппл %)
Неприятная — да, незаконная? Нет! :) github.com/whid-injector
Можно ещё USB-сетевую карту эмулировать, которая будет автоматом получать по DHCP дефолтный маршрут с наивысшим приоритетом, а уже потом любой не-HTTPS запрос можно перенаправлять на нужный
а чи не забагато ембедеда в пункті 2? там може бути апка яка моніторить підключення клави або драйвер-фільтр (що навіть простіше)
А цей драйвер-фільтр як робити?
А кто эту апку или фильтр будет ставить? :)
нанятый апкодевелопер и виндокернелдевелопер соответственно :)
який це приблизно об’єм праці?
Ну под виндой слушать событие-посчитать HID клавы- запустить ссылку? Да часа3-4 наверное даже на старых делфях... а что там с кроссплатформенным кейсом хз