Envie pressionamentos de teclas em tempo real para a máquina a partir de fonte externa sem instalar o software nessa máquina? Talvez um dongle USB que se registre como teclado?

4

Eu tenho alguns sistemas básicos executando softwares legados em hardware com rangers. Eu quero ser capaz de automatizar um monte de tarefas usando scripts de atalho automático para tarefas que atualmente, devem ser executadas manualmente. Eu realmente não quero instalar nenhum software nessas máquinas, e em alguns casos não posso (como eles já estão no máximo em recursos, ou executando compilações do Linux, ou executando estranhas versões despojadas do Windows a partir da idade da pedra)

Eu preciso de uma solução pela qual eu possa receber as teclas digitadas em uma máquina em tempo real sem instalar qualquer software nela. No entanto, exigir drivers ou software na máquina que envia as teclas não é problema.

Esse é o problema que preciso resolver. Dada a restrição na máquina receptora, posso apenas imaginar que uma solução poderia estar nas linhas da entrada por meio de algo como um dongle Bluetooth ou um receptor USB que se registra como um teclado, mas na verdade está recebendo as teclas digitadas em outro computador. Se alguém souber se esse hardware existe, você poderia postar abaixo? Ou, alternativamente, qualquer outra solução que atenda aos objetivos.

    
por Some_Guy 07.07.2015 / 12:45

5 respostas

5

Você pode usar um KVM baseado em IP remoto para gerar pressionamentos de tecla em outra máquina em tempo real.

Basta conectar o teclado do KVM (e, opcionalmente, o vídeo e o mouse) ao computador para o qual deseja enviar pressionamentos de teclas remotos.

Em seguida, você se conecta ao IP no KVM por meio de seu navegador da Web ou do aplicativo de sistema nativo fornecido e envia as teclas que desejar.

Um desses produtos é Controle Remoto do Servidor da Tripp Lite, KVM Externo sobre IP e outro é o KVM Lantronix Spider

Alternativamente, você pode reconstruir uma versão "faça você mesmo" de um desses com apenas suporte a teclado (em vez de suporte a teclado, vídeo e mouse) usando um Teensy USB Dev Board conectado a um módulo ethernet WIZ712MJ com o Kit de Adaptador Ethernet WIZ812

Nesse momento, você pode usar a ethernet e keyboard bibliotecas para escrever um pequeno programa que gera um servidor usando Server.begin() , aguarda uma conexão e, em seguida, tem um loop infinito com algo como o conteúdo a seguir criar um servidor de eco de rede unidirecional:

if (myclient.available()) {
    Keyboard.print(myclient.read());
}

Você provavelmente vai querer detalhar isso com alguma verificação de erros e coisas do tipo, mas deve funcionar como um esqueleto.

    
por 20.07.2015 / 05:58
4

Aqui está uma possível solução, algum assembly é necessário.

Você pode usar um microcontrolador para receber pressionamentos de tecla via rede e transferi-los para o computador ao qual está conectado. Uma possível opção seria a plataforma Arduino e é teclado biblioteca, pois pode ser mais simples do que fazer o hardware e bibliotecas você mesmo. Você também precisará de um software DIY para enviar as teclas e, no caso do Arduino, ele pode ser escrito em seu IDE (ambiente JAVA simplificado). Existem outras plataformas e a maioria delas pode ser reduzida no ambiente de produção se você achar que isso é muito grande ou caro para implantar (já que você pode precisar de mais de uma).

    
por 16.07.2015 / 10:28
3

Isso está longe de ser uma solução pronta para uso, mas você pode adaptar algo como o Teensy USB para cumprir esta missão. Eu imaginaria configurar o Teensy USB para aparecer como um teclado e, em seguida, carregar um programa no Teensy USB que

  • recebe pressionamentos de tecla em uma conexão serial conectada a seus pinos de I / O e
  • envia esses pressionamentos de tecla para a máquina de destino por meio de sua conexão USB.

Eu pessoalmente conectei um a um pedal e programo para enviar a tecla 's' quando pisei no pedal, mas esse projeto era muito mais simples do que você precisaria.

    
por 15.07.2015 / 17:13
0

Seria um pouco estranho que um teclado recebesse entrada. Acho que entendo um pouco melhor seu ângulo de enviar uma seqüência de teclas de um laptop. O receptor bluetooth (dongle USB) faz o recebimento de um teclado bluetooth. Então esqueça o teclado já que você tem um laptop em seu lugar. Pode haver um receptor bluetooth lá fora que seja de propósito geral e permitirá que você emparelhe e receba dados do teclado de algum outro dispositivo bluetooth. Os dados do teclado são parte do perfil bluetooth para HID ("Human Interface Device Profile") pelo menos isso é coberto. Mas um receptor que vem com um teclado da Logitech, por exemplo, pode não permitir receber nada a não ser um teclado da Logitech. Pesquisar na Amazon por "bluetooth data usb receiver" traz alguns que podem funcionar como os da Mediastic.

Você já tem uma maneira de enviar os dados pelo laptop via bluetooth? Você perguntou sobre o recebimento, mas não o envio. Já existem algumas perguntas interessantes sobre isso -

por 08.07.2015 / 18:07
-1

Perfeitamente possível. Na verdade, é o ataque exato do vetor por trás da coisa chamada BAD USB .

Você pode ler em detalhes sobre isso em aqui .

Basicamente, trata-se de alterar (reprogramar) o pendrive USB do dispositivo de armazenamento para outro dispositivo HUD. Não é tão fácil de fazer, mas se você tiver tempo e habilidades - sim, é possível. Certamente não é fácil embora.

A BadUSB device may even have replaced the computer’s BIOS – again by emulating a keyboard and unlocking a hidden file on the USB thumb drive.

    
por 15.07.2015 / 11:21