thay đổi id nhà cung cấp / id sản phẩm USB


9

Trong Windows XP, có cách nào dễ dàng để thay đổi hoặc giả mạo nhà cung cấp và id sản phẩm của thiết bị USB không? (thay đổi các chuỗi mô tả tương ứng có lẽ cũng tốt)

Ví dụ, giả sử có một chương trình hữu ích mong đợi một thiết bị cụ thể nhưng bạn không hiểu tại sao bạn nên mua một thiết bị mới khi bạn có một thiết bị rất giống nhau có khả năng hoạt động với chương trình đó.

Tôi đã thực hiện rất nhiều Google và dường như nó có thể được thực hiện trong Linux nên tôi chạy Windows trong máy ảo trong Linux, nhưng điều đó sẽ hơi bất tiện.

Câu trả lời:


6

Bạn có thể làm điều này với devcon (cách dễ nhất để cài đặt được liệt kê ở đây) , một tiện ích được cung cấp với Windows DDK / WDK. Bạn có thể tìm thấy một phiên bản độc lập phù hợp với Windows XP tại liên kết.

Đặc biệt, devcon 's sethwid lệnh có thể làm những gì bạn đang tìm kiếm. Xem trang Ví dụ cho một số hướng dẫn.

Tôi không chắc chắn điều này sẽ làm chính xác những gì bạn muốn, nhưng tôi có cảm giác mạnh mẽ rằng nó có thể gần như bạn sẽ nhận được mà không cần viết trình điều khiển bộ lọc của riêng bạn. Nếu bạn làm cần phải viết driver riêng của bạn, lấy WDK và đọc devcon sourcecode trong src \ setup \ devcon .

Bạn cũng có thể sử dụng devcon theo những cách khác để thực hiện mục tiêu của mình, nhưng không có thêm thông tin chi tiết, thật khó để nói chính xác làm thế nào. Chúc may mắn!


Đây là một thiết bị HID và không được liệt kê gốc, vì vậy sethwidsẽ không chạm vào nó :(
Hugh Allen

Vâng, đó là những gì thử nghiệm của tôi trông giống như vậy, nhưng tôi không chắc là tôi đã hiểu đúng cú pháp. : /
quack quixote

8

Id nhà cung cấp / id sản phẩm USB có thể được mã hóa cứng trong phần sụn của thiết bị và do đó có thể không thay đổi được nếu không hack phần sụn.

Vì hầu hết các chương trình cơ sở được bảo vệ chống lại các thay đổi, điều này có khả năng làm hỏng thiết bị USB.

Xin lỗi để tiêu cực, nhưng tôi không nghĩ rằng nó có thể.


3
Tại sao downvote câu trả lời đúng? Câu trả lời được chấp nhận ở trên không thành công.
harrymc

"Không thể thực hiện được" không bao giờ là câu trả lời chính xác cho câu hỏi phần mềm [1], chưa kể hoàn toàn không có ích. Tôi không yêu cầu thay đổi thiết bị, chỉ là một cái nhìn của ứng dụng về nó. [1] trừ khi đó là thứ không thể tính toán theo nghĩa Turing.
Hugh Allen

2
Câu hỏi của bạn đặc biệt nói thay đổi hoặc giả mạo. Cách Turing: Những gì bạn yêu cầu chỉ có thể được thực hiện nếu một người có kiến ​​thức về Windows và / hoặc có thể vá hệ điều hành. Đây cũng không phải là nghi thức mạng tốt để hạ thấp những người đang cố gắng giúp bạn tránh lỗi.
harrymc

Đây không phải là một câu hỏi phần mềm mặc dù. ;) // Ngay cả khi có thể thay đổi ID thiết bị (thực sự được lưu trữ trên chính thiết bị), nó vẫn sẽ là cùng một thiết bị. Kiểu tương tự kiểu Viking không cùng loại. Nó rất có thể sẽ không thể làm những gì phần mềm PC mong đợi nó làm.
Daniel B

1

Tôi đã không hoàn thành những gì bạn yêu cầu, nhưng điều này có thể cho bạn một điểm khởi đầu. Ngoài ra, tôi chỉ từng làm loại công cụ này trên các phiên bản tiền Vista.

Thông tin mà Trình quản lý thiết bị và Sổ đăng ký sử dụng để liên kết chuỗi với các thiết bị phần cứng được khởi tạo từ tệp .INF được cung cấp cùng với thiết bị. May mắn thay, các tệp .INF là các tệp văn bản có cấu trúc như các tệp .INI để chúng dễ dàng làm việc. Để thay đổi "danh tính" của thiết bị hiện có:

  1. Đi đến WINDOWS\INFthư mục và tìm đúng tập tin. Có lẽ bạn sẽ cần tìm kiếm trong tất cả các tệp .INF để tìm một chuỗi duy nhất được liên kết với thiết bị.
  2. Sao lưu tập tin.
  3. Mở tệp .INF bằng trình chỉnh sửa văn bản, tìm phần [Chuỗi] và thay đổi chuỗi thích hợp.
  4. Trong Trình quản lý thiết bị, gỡ cài đặt và cài đặt lại thiết bị.

Hy vọng, ứng dụng của bạn chỉ tìm kiếm chuỗi này. Nếu nó đang tìm ID phần cứng duy nhất (bạn sẽ thấy tệp này trong tệp .INF dưới dạng số id của bus và phần cứng như bus \ VID_nnnn & PID_xxxx) thì kỹ thuật này sẽ không hoạt động.


Đây là một thiết bị chung không cần trình điều khiển OEM. (tốt, nhưng) Tôi không thể tìm thấy tệp INF cho nó (và tôi đã tìm kiếm ID sản phẩm của nó trong tất cả các tệp INF).
Hugh Allen

@Hugh Allen - bạn có thể cung cấp thêm một số thông tin không? Chẳng hạn, loại thiết bị nào, xe buýt nào đang hoạt động, làm thế nào để ứng dụng nhận ra rằng đó không phải là thiết bị mong đợi?
mtrw

chuột. USB. Đừng biết nữa.
Hugh Allen

@Hugh Allen - điều khác duy nhất tôi có thể khuyên bạn là tìm kiếm thiết bị hiện có của bạn trong Registry \ HKLM \ HỆ THỐNG \ CurrentControlset, tìm chuỗi tên, tìm VID / PID và tìm số VID / PID đó trong các tệp INF. Tuy nhiên, nếu ứng dụng bạn đang cố gắng sử dụng trực tiếp VID / PID, kỹ thuật này sẽ không hoạt động.
mtrw

@Hugh Allen - Tôi xin lỗi, tôi đã không nhấp vào liên kết trong câu hỏi của bạn trước đó. Tôi không hiểu bạn đang tìm cách thay đổi số VID / PID. Thông tin tôi đã cung cấp cho bạn sẽ chỉ thay đổi chuỗi. Các tệp INF phụ thuộc vào số VID / PID, không xác định chúng. Xin lỗi để dẫn bạn xuống con đường sai.
mtrw
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.