我曾经有过使用无线专有USB接收器的Logitech G700鼠标。我使用Logitech设定点软件来自定义鼠标的加速,宏等。鼠标开始双击,我不得不从Logitech那里得到替换,但是它们只有G700s(G700已停产),所以他们给了我那只鼠标。问题在于,尽管G700与G700几乎一样,但仍无法与设定值软件一起使用。

它使用的Logitech游戏软件很糟糕,并且缺少许多选件。设定点软件。因此,我希望能够将我的G700与设定值软件一起使用。我曾尝试在regedit中更改供应商ID和产品ID,但是它没有任何作用,并且每次重新启动鼠标时都会重置。

没有文件包含可以编辑的兼容设备的列表。我认为兼容设备的列表直接写入了软件中。我在IDA Pro中打开了setpoint.exe文件,并搜索了字符串G700,并找到了包含它的行。它是在unicode中。如何编辑此行或行块以与G700s配合使用?

#1 楼

使用十六进制编辑器。它们很多,我最喜欢的是wxHexEditor。

但是,至少有3个原因可能不起作用:


字符串G700sG700长一个字节,因此您可能没有足够的空间。如果列出的鼠标模型不止一种,则可以将其中一种重新命名为G700s,并将以下一种重新命名为一个字母的名称。
软件可能会通过USB获得设备ID。总线,根据ID列表进行检查,并将该字符串仅用于用户输出。您必须找到并更改此列表,而不是输出字符串。在您的软件中搜索重复出现的6d 04(Logitech的USB id,由于处理器为低端字节,所以字节反转)。
G700可能在USB总线上使用了不同的协议(可能不是用于正常的鼠标交互,而是为了宏和类似内容),因此设定值软件将无法使用鼠标的任何高级功能。


#2 楼



USB设备可以通过VID / PID而不是字符串来识别

您找到的字符串最有可能仅用于打印目的,因此请尝试查找旧的VID PID标识鼠标并替换为新鼠标。 VID很可能是相同的,而PID通常只是一个增量。


如果您的鼠标开始双击/双击/滑动

,则可能是只是错误的微动开关。如果您更换了它(简化了他们的软件更换过程),那么它应该可以作为新的(如果您仍然有旧鼠标并且没有其他错误的话,它应该是粗糙的)。


如果没有帮助并且协议兼容

,那么您可以制造USB-USB桥接器。将具有VID PID的USB设备和PC端旧鼠标的信息字符串(USB客户端)和另一端的USB主机连接起来,以将真实鼠标连接到该USB设备。桥接器应仅在新鼠标和PC之间转发数据包。

您将需要一些具有2个USB(和USB主机功能)的MCU或网络2个具有单个USB的MCU(通过其他连接,例如RS232,SPI或USB)。随你。我最喜欢的是ATMEL UC3芯片,但还有很多其他


[Notes]

来自:USB VID / PID列表

VID = 046D [hex] ... Logitech
PID = C06B [hex] ... G700 Wireless Gaming Mouse


在设备管理器中查找新鼠标的VID / PID或在其驱动程序inf文件中...

评论


这是我做过的事情:reddit.com/r/HowToHack/comments/2zsb8q/…我已经更改了nfo文件中的PID,但它不起作用。设定值软件似乎可以直接检测鼠标,而无需查看安装的驱动程序。我仍然有旧鼠标,但是双击问题与硬件有关,而不是软件。如何制作USB-USB桥接器?

–时钟
2015年4月18日23:46



@chroncile我首先要检查旧鼠标上的(硬件)微动开关,这是最快,最简单的方法,它们直接位于按钮盖的下面,如果弹簧板变形或折断,则应明显单击,然后产生毛刺(多次单击)每按一下按钮或发出一声噪音,并且在使用寿命终止时没有咔嗒声,这类似于电灯开关的使用寿命),通常为3针脚,因此易于更改。我通常会用旧鼠标来代替它们,因为它们通常可以互换。如果您没有备用的微动开关,请用中键更改坏的微动开关

– Spektre
2015年4月19日在5:46

@chroncile middle并没有太多使用...您将看到错误按钮是否再次起作用以检查它是否真的只是一个微动开关或其他东西。如果不是,则可能是电容器损坏,或者更糟的是IC损坏。如今,大多数使用SMD零件,它们的使用寿命不会那么长,但我不建议您更换有经验的人,否则,如果您不知道自己在做什么,可能会永久损坏PCB。

– Spektre
2015年4月19日下午5:50

桥梁是最后的可能性(这是很多工作),如果您没有经验,您将需要基于带有输入和输出USB的MCU来创建计算机(一个是HOST),然后尝试购买一些简单的廉价开发套件并嵌套其中2个(如果只有一个USB)。 MCU;必须支持USB,您的鼠标正在使用USB 2.0 FS或HS。可悲的是,没有多少MCU适用于家用设备。经过几年的长期研究,我们决定使用Atmel UC3XX芯片,因为它们具有USB HS(几乎没有其他芯片拥有),具有足够的RAM并且位于TQFP中

– Spektre
2015年4月19日在5:56

@chroncile,因此无需昂贵的机械手即可将它们焊接到PCB。然后,您将需要为两种芯片编写操作系统,一个用作鼠标的USB主机,第二个用作PC的USB客户端。您需要通过某种连接将它们互连(例如,不要混淆串行端口,MCU上的串行链接甚至可以在30MHz上运行,而不像PC上的115200Hz限制一样,或使用任何其他接口),然后仅通过鼠标警告PC之间的数据包...仅将会改变的是USB ID。将PC的USB设置为旧鼠标的VID PID,并将主机USB的VID PID设置为任何

– Spektre
2015年4月19日在6:03