我的 USB 鼠标文件存储在哪里以及如何对它们进行逆向工程?
Where are my USB mouse's files stored and how to reverse-engineer them?
我买了一个新鼠标(它没有自己的软件),我想知道:
因为它有自己改变的 RGB 灯,据我所知,它里面有一些软件可以控制它。
首先,一个更简单的问题:当我第一次连接鼠标时,Windows 说它正在“安装”一些东西。我在哪里可以找到这些东西(可能是文件)?
其次:我有什么方法可以对此进行“逆向工程”并访问鼠标代码,以便我能够控制 LED 的颜色,例如?
当 Windows 说它正在为您的鼠标“安装”某些东西时,它会查看 USB 描述符,确定要与鼠标关联的驱动程序,并记录其他元数据。您可以在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB”下的注册表中查看记录的内容。对于更复杂的设备,我认为 Windows 实际上可以在此阶段从互联网上下载驱动程序文件并将其安装到您的计算机上。但是对于一个标准的HID鼠标来说,应该已经有它需要的驱动了。
没有从硬件设备读取代码的标准方法,如果设备不是开源的,这可能会非常困难。该代码可能存储在启用了读保护的微控制器的内存中,这意味着它无法从外部编程器读取。也有可能鼠标的大部分功能实际上是在特定于应用程序的硬件而不是软件中实现的。
如果您的 PC 上现有软件允许您控制鼠标的 LED 颜色,您最好的希望是 运行 该软件并查看它使用什么 USB 数据包发送到鼠标USB 协议分析器。
我买了一个新鼠标(它没有自己的软件),我想知道:
因为它有自己改变的 RGB 灯,据我所知,它里面有一些软件可以控制它。
首先,一个更简单的问题:当我第一次连接鼠标时,Windows 说它正在“安装”一些东西。我在哪里可以找到这些东西(可能是文件)?
其次:我有什么方法可以对此进行“逆向工程”并访问鼠标代码,以便我能够控制 LED 的颜色,例如?
当 Windows 说它正在为您的鼠标“安装”某些东西时,它会查看 USB 描述符,确定要与鼠标关联的驱动程序,并记录其他元数据。您可以在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB”下的注册表中查看记录的内容。对于更复杂的设备,我认为 Windows 实际上可以在此阶段从互联网上下载驱动程序文件并将其安装到您的计算机上。但是对于一个标准的HID鼠标来说,应该已经有它需要的驱动了。
没有从硬件设备读取代码的标准方法,如果设备不是开源的,这可能会非常困难。该代码可能存储在启用了读保护的微控制器的内存中,这意味着它无法从外部编程器读取。也有可能鼠标的大部分功能实际上是在特定于应用程序的硬件而不是软件中实现的。
如果您的 PC 上现有软件允许您控制鼠标的 LED 颜色,您最好的希望是 运行 该软件并查看它使用什么 USB 数据包发送到鼠标USB 协议分析器。