Ändern der W32_PhisicalMedia Serial an USB-Sticks



  • Hallo zusammen,

    ich habe ein Problem und hoffe, dass mir jemand helfen kann.
    Ich biete beruflich u.a. eine Dienstleistung an, wo ich USB-Sticks modifiziere. D.h. ich kann Parameter eines USB-Sticks ändern wie: Product ID, Vendor ID, Geräte- und Productname die Seriennummer und noch einige andere. Dies wird u.a. als Kopierschutz verwendet, d.h. der Kunde macht eine Hardwareabfrage ob zbs. eine Seriennummer 0815 vorhanden ist. Wenn ja, dann springt die Software an, wenn nicht, dann nicht.

    Nun habe ich einen Kunden, der also auf den Sticks fortlaufende Seriennummern benötigt, d.h. hinter der Serial 0815 steckt die Fa. Mustermann. Soweit so gut.
    Dieser Kunde besitzt ein Toll wo er zum einen dieser Seriennummer (also vom Controller) abfragt, er diese dann "USB-Key". Und nun kommt es, den 2. Parameter den er abfragt nennt er "Seriennummer" und dahinter steckt "angeblich" die erwähnte W32_PhisicalMedia Serial. Und genau diese versuche ich seit Tagen zu finden.

    Ich modifiziere also diesen Stick direkt über den Controller, so das er danach die Seriennummer (also im Kundentool der USB-Key) 0815 besitzt.
    Die im Tool genannte "Seriennummer" also die angebliche W32_PhisicalMedia Serial hat bei meinem Teststick IMMER den Wert AA00000000000489.

    Meine erste Logig war, das dies sicher ein String ist von irgendwelchen Controllerparametern, also zbs:
    PID = 058f
    VID = 1000
    Serial 0815

    Aber egal welchen Parameter ich ändere ich habe immer diesen Wert AA0000.....

    Irgendwo muss doch dieser verflixte Wert sitzen bzw. irgendwie zusammen gesetzt werden.

    Jetzt bin ich echt gespannt, ob mir von euch jemand helfen kann.

    Viele Grüße

    Winfried

    Übrigens, sollte jemand etwas Mißtrauen haben, was ich verstehen könnte, dann dürft ihr mich gerne anschreiben. Ich nenne euch dann eine meiner Webseite wo genau diese Dienstleistung angeboten wird. Nur möchte ich hier keine Schleichwerbung machen.



  • An welcher Stelle kommt hier C++ vor?



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • In PrettyOS http://prettyos.de lesen wir alle strings aus von usb-devices in http://sourceforge.net/p/prettyos/code/HEAD/tree/trunk/Source/kernel/usb/usb.c

    void usb_getStringDescriptor(usb_device_t* device)
    void usb_getUnicodeStringDescriptor(usb_device_t* device, uint8_t stringIndex)
    
    static void showStringDescriptor(const struct usb_stringDescriptor* d)
    static void showUnicodeStringDescriptor(const struct usb_stringDescriptorUnicode* d, usb_device_t* device, uint32_t stringIndex)
    

    Da kannst Du genau sehen, wie die Strings (teilweise ASCII, teilweise UNICODE) aufgebaut sind. Vielleicht ist Unicode das Problem? Da musst Du zwei Byte auswerten/manipulieren.

    http://www.beyondlogic.org/usbnutshell/usb5.shtml#StringDescriptors

    W32_PhisicalMedia Serial <== Win32_PhysicalMedia SerialNumber ?
    http://stackoverflow.com/questions/1350911/problem-with-win32-physicalmedia-serialnumber-property



  • Hallo Erhard,

    Das bedeutet also das diese PhisicalMedia Seriennummer, wie ich vermutet habe, ein zusammengesetzter String aus verschiedenen Parametern des Sticks ist.

    Viele Grüße

    Winfried


Anmelden zum Antworten