cambia ID fornitore USB / ID prodotto


9

In Windows XP, esiste un modo semplice per modificare o falsificare il fornitore e l'ID prodotto di un dispositivo USB? (anche la modifica delle stringhe descrittive corrispondenti sarebbe probabilmente buona)

Supponiamo, ad esempio, che esiste un programma utile che prevede un determinato dispositivo, ma non vedi perché dovresti acquistarne uno nuovo quando hai già un dispositivo molto simile che probabilmente funzionerà con il programma.

Ho fatto molti googling e apparentemente può essere fatto sotto Linux, quindi mi viene in mente di eseguire Windows in una macchina virtuale sotto Linux, ma sarebbe un po 'scomodo.

Risposte:


6

Potresti essere in grado di farlo con devcon (i modi più semplici per l'installazione elencati qui) , un'utilità fornita con Windows DDK / WDK. È possibile trovare una versione autonoma adatta per Windows XP al collegamento.

In particolare, il comando sethwid di devcon potrebbe essere in grado di fare quello che stai cercando. Vedi la pagina degli esempi per alcuni tutorial.

Non sono sicuro che questo farà esattamente quello che vuoi, ma ho la netta sensazione che potrebbe essere il più vicino possibile senza scrivere il tuo driver del filtro. Se fai bisogno di scrivere un proprio driver, afferrare il WDK e leggere il DevCon sorgente in src \ setup \ devcon .

Potresti anche essere in grado di utilizzare devcon in altri modi per raggiungere il tuo obiettivo, ma senza ulteriori dettagli è difficile dire esattamente come. In bocca al lupo!


È un dispositivo HID e non è elencato come root, quindi sethwidnon lo toccherà :(
Hugh Allen

sì, è così che sembravano anche i miei test, ma non ero sicuro di riuscire a ottenere la sintassi corretta. : /
Quack Quixote

8

È probabile che l'ID fornitore / ID prodotto USB sia codificato nel firmware del dispositivo e potrebbe pertanto essere immutabile senza compromettere il firmware.

Poiché la maggior parte del firmware è protetta dalle modifiche, è probabile che questo blocchi il dispositivo USB.

Mi dispiace essere negativo, ma non credo sia possibile.


3
Perché votare la risposta corretta? La risposta accettata sopra non ha funzionato.
harrymc,

"Non si può fare" non è mai la risposta corretta a una domanda software [1], per non parlare del tutto inutile. Non stavo chiedendo di cambiare il dispositivo stesso, ma solo una sua visualizzazione. [1] a meno che non sia qualcosa di non calcolabile nel senso di Turing.
Hugh Allen,

2
La tua domanda diceva specificamente cambiamento o parodia. La via di Turing: ciò che hai chiesto può essere fatto solo se si ha una conoscenza interna di Windows e / o è possibile correggere il sistema operativo. Inoltre, non è una buona netiquette sottovalutare le persone che cercano di aiutarti a evitare errori.
harrymc,

Questa non è una domanda software però. ;) // Anche se fosse possibile modificare l'ID del dispositivo (che è effettivamente memorizzato sul dispositivo stesso), sarebbe comunque lo stesso dispositivo. Il tipo "simile" non è dello stesso tipo. Molto probabilmente non sarà in grado di fare ciò che il software per PC si aspetta che faccia.
Daniel B,

1

Non ho fatto abbastanza quello che mi stai chiedendo, ma questo potrebbe darti un punto di partenza. Inoltre, ho sempre fatto questo genere di cose nelle versioni pre-Vista.

Le informazioni utilizzate da Gestione dispositivi e Registro per associare le stringhe ai dispositivi hardware vengono inizializzate dal file .INF fornito con il dispositivo. Fortunatamente, i file .INF sono file di testo strutturati come file .INI, quindi sono facili da lavorare. Per modificare l '"identità" di un dispositivo esistente:

  1. Vai alla WINDOWS\INFdirectory e trova il file giusto. Probabilmente dovrai cercare in tutti i file .INF una stringa univoca associata al dispositivo.
  2. Eseguire il backup del file.
  3. Aprire il file .INF con un editor di testo, trovare la sezione [Stringhe] e modificare la stringa appropriata.
  4. In Gestione dispositivi, disinstallare e reinstallare il dispositivo.

Speriamo che la tua applicazione stia solo cercando questa stringa. Se sta cercando l'ID hardware univoco (lo vedrai nel file .INF come bus e numero ID hardware come bus \ VID_nnnn e PID_xxxx), questa tecnica non funzionerà.


È un dispositivo generico che non ha bisogno di driver OEM. (il che è buono, ma) Non riesco a trovare un file INF per esso (e ho cercato il suo ID prodotto in tutti i file INF).
Hugh Allen,

@Hugh Allen - puoi fornire qualche informazione in più? Ad esempio, che tipo di dispositivo, su quale bus si trova, in che modo l'applicazione riconosce che non è il dispositivo previsto?
mtrw,

topo. USB. Non lo so.
Hugh Allen,

@Hugh Allen - l'unica altra cosa che posso raccomandare è cercare il tuo dispositivo esistente in Registry \ HKLM \ SYSTEM \ CurrentControlSet, trovare la stringa del nome, trovare il VID / PID e cercare quel numero VID / PID nei file INF. Tuttavia, se l'app che stai tentando di ingannare utilizza direttamente il VID / PID, questa tecnica non funzionerà.
mtrw,

@Hugh Allen - Mi dispiace, non avevo cliccato prima sul link nella tua domanda. Non ho capito che stavi cercando di cambiare i numeri VID / PID. Le informazioni che ti ho dato avrebbero solo cambiato le stringhe. I file INF dipendono dai numeri VID / PID, non definirli. Scusa se ti ho portato sulla strada sbagliata.
mtrw,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.