Изменить идентификатор производителя USB / идентификатор продукта

В Windows XP есть ли простой способ изменить или подменить идентификатор производителя и продукта устройства USB? (изменение соответствующих описательных строк, вероятно, также будет хорошо)

Скажем, например, есть полезная программа, которая ожидает определенного устройства, но вы не понимаете, почему вы должны купить новое, если у вас уже есть очень похожее устройство, которое может работать с программой.

Я много гуглил и, видимо, это можно сделать под Linux, поэтому мне приходит в голову запустить Windows на виртуальной машине под Linux, но это было бы немного неудобно.

3 ответа

Решение

Возможно, вы сможете сделать это с помощью devcon (самый простой способ установки, указанный здесь), утилиты, поставляемой с Windows DDK/WDK. Вы можете найти отдельную версию, подходящую для Windows XP, по ссылке.

В частности, команда devcon sethwid может сделать то, что вы ищете. См. Страницу примеров для некоторых уроков.

Я не уверен, что это будет именно то, что вы хотите, но у меня есть сильное чувство, что это может быть настолько близко, насколько вы получите, не написав свой собственный драйвер фильтра. Если вам нужно написать собственный драйвер, возьмите WDK и прочитайте исходный код devcon в src \ setup \ devcon.

Вы также можете использовать devcon для достижения своей цели другими способами, но без подробностей сложно сказать, как именно. Удачи!

Идентификатор поставщика USB / идентификатор продукта, вероятно, будет жестко задан в прошивке устройства и, следовательно, может быть неизменным без взлома прошивки.

Поскольку большинство встроенных программ защищено от изменений, это может привести к повреждению устройства USB.

Извините за негатив, но я не думаю, что это возможно.

Я не сделал совершенно то, что вы просите, но это может дать вам отправную точку. Кроме того, я когда-либо делал такие вещи только в версиях до Vista.

Информация, которую Диспетчер устройств и Реестр используют для привязки строк к аппаратным устройствам, инициализируется из файла.INF, поставляемого с устройством. К счастью, файлы.INF представляют собой текстовые файлы, структурированные как файлы.INI, поэтому с ними легко работать. Чтобы изменить "идентичность" существующего устройства:

  1. Перейти к WINDOWS\INF каталог и найдите нужный файл. Вероятно, вам нужно будет найти во всех файлах.INF уникальную строку, связанную с устройством.
  2. Сделайте резервную копию файла.
  3. Откройте файл.INF в текстовом редакторе, найдите раздел [Strings] и измените соответствующую строку.
  4. В диспетчере устройств удалите и переустановите устройство.

Надеюсь, ваше приложение ищет только эту строку. Если он ищет уникальный идентификатор оборудования (вы увидите это в файле.INF как номер шины и идентификатор оборудования, например, bus\VID_nnnn&PID_xxxx), тогда этот метод не будет работать.

Другие вопросы по тегам