змінити ідентифікатор постачальника USB / ідентифікатор продукту


9

Чи є в Windows XP простий спосіб змінити або підробити ідентифікатор постачальника та продукту USB-пристрою? (зміна відповідних описових рядків, мабуть, також буде добре)

Скажімо, наприклад, є корисна програма, яка очікує певного пристрою, але ви не розумієте, чому слід купувати новий, коли у вас вже дуже подібний пристрій, який, ймовірно, працює з програмою.

Я робив багато Googling і, мабуть, це можна зробити під Linux, тому мені здається, що запускати Windows у VM під Linux, але це було б трохи незручно.

Відповіді:


6

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

Зокрема, Devcon «s sethwid команда може бути в змозі зробити те , що ви шукаєте. Див. Сторінку Приклади для деяких навчальних посібників.

Я не впевнений, що це зробить саме те, що ви хочете, але у мене є сильне відчуття, що це може бути так близько, як ви отримаєте, не написавши власний драйвер фільтра. Якщо ви робите потреба написати свій власний драйвер, захопити WDK і читати DevCon початкових кодів , в Src \ Setup \ DevCon .

Ви можете також використовувати Devcon іншими способами для досягнення своєї мети, але без додаткових подробиць важко точно сказати, як. Удачі!


Це пристрій HID і не перелічений коренями, тому sethwidне торкайтесь його :(
Х'ю Аллен

Так, так виглядало і моє тестування, але я не був впевнений, що правильно отримую синтаксис. : /
шарлатаний кіхот

8

Ідентифікатор постачальника USB / ідентифікатор продукту, ймовірно, буде жорстко закодований у мікропрограмному забезпеченні пристрою, і тому може бути незмінним без злому програмного забезпечення.

Оскільки більшість вбудованих програм захищені від змін, це, ймовірно, цегла USB-пристрою.

Вибачте за негатив, але я не думаю, що це можливо.


3
Чому спростовують правильну відповідь? Прийнята вище відповідь не вийшла.
harrymc

"Це неможливо зробити" ніколи не є правильною відповіддю на програмне запитання [1], не кажучи вже про зовсім непомітну. Я не просив змінити сам пристрій, просто погляд програми на це. [1] якщо тільки це не є незрівнянним у сенсі Тьюрінга.
Х'ю Аллен

2
У вашому питанні конкретно сказано про зміну чи підробку. Шлях Тюрінга: Те, що ви запитували, можна зробити лише у тому випадку, якщо хтось знає Windows та / або може виправити операційну систему. Крім того, це не добре для етикету людей, які намагаються допомогти вам уникнути помилок.
harrymc

Це не програмне питання. ;) // Навіть якби можна було змінити ідентифікатор пристрою (який дійсно зберігається на самому пристрої), це все одно був би той самий пристрій. "Подібний" тип не є одним і тим же . Швидше за все, він не зможе зробити те, що програмне забезпечення ПК передбачає.
Даніель Б

1

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

Інформація, яку Диспетчер пристроїв та Реєстр використовують для асоціації рядків з апаратними пристроями, ініціалізується з файлу .INF, наданого пристроєм. На щастя, .INF-файли - це текстові файли, структуровані як .INI-файли, тому з ними легко працювати. Щоб змінити "особистість" існуючого пристрою:

  1. Зайдіть в WINDOWS\INFкаталог і знайдіть потрібний файл. Можливо, вам знадобиться шукати всі файли .INF для унікальної рядки, пов’язаної з пристроєм.
  2. Резервне копіювання файлу.
  3. Відкрийте файл .INF за допомогою текстового редактора, знайдіть розділ [Строки] та змініть відповідний рядок.
  4. У диспетчері пристроїв видаліть і перевстановіть пристрій.

Сподіваємось, ваша програма шукає лише цей рядок. Якщо ви шукаєте унікальний апаратний ідентифікатор (ви побачите це у файлі .INF як ідентифікатор шини та обладнання, наприклад шина \ VID_nnnn & PID_xxxx), ця методика не працюватиме.


Це загальний пристрій, якому не потрібні драйвери OEM. (що добре, але) я не можу знайти файл INF для нього (і я шукав його ідентифікатор продукту у всіх файлах INF).
Х'ю Аллен

@Hugh Allen - ти можеш надати додаткову інформацію? Наприклад, що це за пристрій, на якій шині він працює, як програма визнає, що це не очікуваний пристрій?
mtrw

миша. USB. Не знаю.
Х'ю Аллен

@Hugh Allen - єдине, що я можу порекомендувати, - це пошук наявного пристрою в реєстрі \ HKLM \ SYSTEM \ CurrentControlSet, пошук рядка імен, пошук VID / PID та пошук цих VID / PID номерів у файлах INF. Однак якщо додаток, яке ви намагаєтеся обдурити, використовує VID / PID безпосередньо, ця методика не працюватиме.
mtrw

@Hugh Allen - Вибачте, я раніше не перейшов на посилання у вашому запитанні. Я не розумів, що ви хочете змінити номери VID / PID. Інформація, яку я вам дав, змінила б лише рядки. Файли INF залежать від номерів VID / PID, а не визначають їх. Вибачте, що ведете вас неправильним шляхом.
mtrw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.