无需在机器上安装软件,即可从外部源向机器发送实时按键?也许是一个注册为键盘的 USB 加密狗?

无需在机器上安装软件,即可从外部源向机器发送实时按键?也许是一个注册为键盘的 USB 加密狗?

我有几个运行着旧版软件的简陋系统,这些软件运行在破旧的硬件上。我希望能够通过使用自动热键脚本来自动执行许多任务,而这些任务目前必须手动执行。我真的不想在这些机器上安装任何软件,而且在某些情况下也无法安装(因为它们的资源已经用尽,或者运行着 Linux 版本,或者运行着奇怪的石器时代精简版 Windows 版本)

我需要一个解决方案,以便我可以实时接收机器上的击键没有安装任何软件都行。但是,要求机器上的驱动程序或软件发送按键是没有问题的。

这就是我需要解决的问题。考虑到接收机器的限制,我只能想象解决方案可能是通过蓝牙适配器或 USB 接收器之类的东西进行输入,这些接收器注册为键盘,但实际上接收来自另一台计算机的击键。如果有人知道是否存在这样的硬件,可以在下面发帖吗?或者,任何其他符合目标的解决方案。

答案1

您可以使用基于远程 IP 的 KVM 在另一台机器上实时生成按键。

只需将 KVM 的键盘(以及可选的视频和鼠标)连接到您想要发送远程击键的计算机即可。

然后,您通过 Web 浏览器或提供的本机系统应用程序连接到 KVM 上的 IP,并发送您希望的任何击键。

其中一款产品是Tripp Lite 的服务器远程控制,外部 KVM over IP另一个是Lantronix Spider KVM

或者,你可以使用以下工具重新构建一个 DIY 版本,仅支持键盘(而不是键盘、视频和鼠标支持):Teensy USB 开发板连接到WIZ712MJ以太网模块WIZ812 以太网适配器套件

此时,你可以使用 Teensy 的以太网键盘库编写一个小程序,使用生成服务器Server.begin(),等待连接,然后使用类似以下内容的无限 while 循环来创建单向网络回显服务器:

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

您可能会希望通过一些错误检查等来充实它,但它应该作为一个骨架。

答案2

这是一个可能的解决方案,需要进行一些组装。

您可以使用微控制器通过网络接收按键并将其传输到与其连接的计算机。一种可能的选择是Arduino平台及其键盘库,因为它可能比自己制作硬件和库更简单。您还需要 DIY 软件来发送击键,如果是 Arduino,则可以在其 IDE(简化的 JAVA 环境)中编写。还有其他平台,如果您发现部署太大或成本太高(因为您可能需要多个平台),大多数平台都可以在生产环境中缩小规模。

答案3

这远非一个现成的解决方案,但你也许可以采用类似微型 USB完成这个任务。我设想将 Teensy USB 配置为键盘,然后将程序加载到 Teensy USB 上,

  • 通过连接到其 I/O 引脚的串行连接接收击键,并
  • 通过 USB 连接将这些击键发送到目标机器。

我亲自将其连接到脚踏板上,并对其进行编程,使其在我踩下踏板时发送“s”键击,但该项目比您需要的简单得多。

答案4

完全有可能。事实上,这正是所谓的 背后的矢量攻击BAD USB

您可以在这里

基本上,它是关于将 USB 存储设备(重新编程)更改为另一个 HUD 设备。这并不容易,但如果你有时间和技能 - 是的,这是可能的。当然,这并不容易。

BadUSB 设备甚至可能取代了计算机的 BIOS——同样是通过模拟键盘并解锁 USB 拇指驱动器上的隐藏文件来实现的。

相关内容