8

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

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

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

3 ответа3

7

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

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

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

3

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

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

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

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

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .