USB-Hersteller-ID / Produkt-ID ändern

50151
Hugh Allen

Gibt es unter Windows XP eine einfache Möglichkeit, die Hersteller- und Produkt-ID eines USB-Geräts zu ändern oder zu fälschen? (Die entsprechenden beschreibenden Zeichenfolgen zu ändern wäre wahrscheinlich auch gut.)

Angenommen, es gibt ein nützliches Programm, das ein bestimmtes Gerät erwartet, aber Sie erkennen nicht, warum Sie ein neues kaufen sollten, wenn Sie bereits ein sehr ähnliches Gerät haben, das wahrscheinlich mit dem Programm zusammenarbeitet.

Ich habe viel gegoogelt und anscheinend kann es unter Linux gemacht werden, so dass es mir einfällt, Windows in einer VM unter Linux auszuführen, aber das wäre etwas unbequem.

8

3 Antworten auf die Frage

7
harrymc

Die USB-Hersteller-ID / Produkt-ID wird in der Firmware des Geräts wahrscheinlich hartcodiert und kann daher ohne Hacken der Firmware nicht geändert werden.

Da die meisten Firmware vor Änderungen geschützt sind, wird das USB-Gerät wahrscheinlich blockiert.

Tut mir leid, negativ zu sein, aber ich glaube nicht, dass es möglich ist.

Warum wurde die richtige Antwort gewählt? Die akzeptierte Antwort oben hat nicht geklappt. harrymc vor 13 Jahren 3
"Das geht nicht" ist * niemals * die richtige Antwort auf eine Software-Frage [1], ganz zu schweigen von völlig hilfreichen. Ich habe nicht darum gebeten, das Gerät selbst zu ändern, sondern nur die Ansicht einer Anwendung. [1] es sei denn, dies ist im Sinne von Turing etwas Unberechenbares. Hugh Allen vor 12 Jahren 0
Ihre Frage sagte ausdrücklich Veränderung oder Spoof. Der Turing-Weg: Das, was Sie gefragt haben, kann nur gemacht werden, wenn Sie über Windows-Kenntnisse verfügen und / oder das Betriebssystem patchen können. Es ist auch keine gute Netiquette, Leute abzustimmen, die versuchen, Fehler zu vermeiden. harrymc vor 12 Jahren 1
Dies ist jedoch keine Software-Frage. ;) // Selbst wenn es möglich wäre, die Geräte-ID (die tatsächlich auf dem Gerät selbst gespeichert ist) zu ändern, wäre es immer noch dasselbe Gerät. "Ähnlich" ist nicht * gleich *. Es ist höchstwahrscheinlich nicht in der Lage, das zu tun, was die PC-Software erwartet. Daniel B vor 6 Jahren 0
3
quack quixote

You might be able to do this with devcon (easiest ways to install listed here), a utility provided with the Windows DDK/WDK. You can find a standalone version suitable for Windows XP at the link.

In particular, devcon's sethwid command may be able to do what you're looking for. See Examples page for some tutorials.

I'm not sure this will do exactly what you want, but I've a strong feeling that it may be as close as you'll get without writing your own filter driver. If you do need to write your own driver, grab the WDK and read the devcon sourcecode in src\setup\devcon.

You may also be able to use devcon in other ways to accomplish your goal, but without further details it's hard to say exactly how. Good luck!

Es ist ein HID-Gerät und nicht root-nummeriert, sodass `sethwid` es nicht anfassen wird :( Hugh Allen vor 14 Jahren 0
Ja, so sah mein Test auch aus, aber ich war mir nicht sicher, ob ich die Syntax richtig verstanden hatte. : / quack quixote vor 14 Jahren 0
0
mtrw

I haven't done quite what you're asking, but this might give you a starting point. Also, I've only ever done this kind of stuff on pre-Vista versions.

The information that Device Manager and the Registry use to associate strings with hardware devices is initialized from the .INF file provided with the device. Fortunately, the .INF files are text files structured like .INI files so they're easy to work with. To change the "identity" of an existing device:

  1. Go to the WINDOWS\INF directory and find the right file. Probably you'll need to search through all the .INF files for a unique string associated with the device.
  2. Backup the file.
  3. Open the .INF file with a text editor, find the [Strings] section, and change the appropriate string.
  4. In Device Manager, uninstall and reinstall the device.

Hopefully, your application is only looking for this string. If it's looking for the unique hardware ID (you'll see this in the .INF file as a bus and hardware id number like bus\VID_nnnn&PID_xxxx) then this technique won't work.

Es ist ein generisches Gerät, für das keine OEM-Treiber erforderlich waren. (was gut ist, aber) Ich kann keine INF-Datei dafür finden (und ich habe die Produkt-ID in allen INF-Dateien gesucht). Hugh Allen vor 14 Jahren 0
@Hugh Allen - können Sie weitere Informationen geben? Auf welcher Art von Gerät, auf welchem ​​Bus ist es, wie erkennt die Anwendung, dass es nicht das erwartete Gerät ist? mtrw vor 14 Jahren 0
Maus. USB. Weiß nicht Hugh Allen vor 14 Jahren 0
@Hugh Allen - die einzige andere Sache, die ich empfehlen kann, ist die Suche nach Ihrem vorhandenen Gerät in Registry \ HKLM \ SYSTEM \ CurrentControlSet, Suchen der Namenszeichenfolge, Suchen der VID / PID und Suchen nach diesen VID / PID-Nummern in den INF-Dateien. Wenn die App, die Sie täuschen möchten, die VID / PID direkt verwendet, funktioniert diese Technik jedoch nicht. mtrw vor 14 Jahren 0
@Hugh Allen - Es tut mir leid, ich war vorher nicht auf den Link in Ihrer Frage geklickt. Ich habe nicht verstanden, dass Sie die VID / PID-Nummern ändern wollten. Die Informationen, die ich Ihnen gegeben habe, hätten nur die Zeichenfolgen geändert. Die INF-Dateien hängen von den VID / PID-Nummern ab und definieren sie nicht. Tut mir leid, Sie auf den falschen Weg zu bringen. mtrw vor 14 Jahren 0