Изменить идентификатор производителя 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, поэтому с ними легко работать. Чтобы изменить "идентичность" существующего устройства:
- Перейти к
WINDOWS\INF
каталог и найдите нужный файл. Вероятно, вам нужно будет найти во всех файлах.INF уникальную строку, связанную с устройством. - Сделайте резервную копию файла.
- Откройте файл.INF в текстовом редакторе, найдите раздел [Strings] и измените соответствующую строку.
- В диспетчере устройств удалите и переустановите устройство.
Надеюсь, ваше приложение ищет только эту строку. Если он ищет уникальный идентификатор оборудования (вы увидите это в файле.INF как номер шины и идентификатор оборудования, например, bus\VID_nnnn&PID_xxxx), тогда этот метод не будет работать.