Keine eindeutige GUID!



  • Hi, ich bin gerade dabei die GUID als Basis meines Lizensierungssystems einzubauen, doch leider scheint keine eindeutige ID generiert zu werden.

    Sie ändert sich mit jedem Aufruf der Funktion.

    Hier mein Code:

    //CoInitialize(0);
        GUID Guid = {0};
        CoCreateGuid(&Guid);
        //CoUninitialize();
        return GUIDToString(Guid);
    

    Mit freundlichen Grüßen



  • Ich glaube du hast nicht verstanden, was mit eindeutig gemeint ist.

    [quote=MSDN]
    To a very high degree of certainty, this function returns a unique value – no other invocation, on the same or any other system (networked or not), should return the same value.[/quote]

    Mit eindeutig ist gemeint, dass niemals zwei Funktionsaufrufe den gleichen Wert liefern.



  • Achso..
    Scheine ich wohl tatsächlich falsch verstanden zu haben.

    Wie löse ich dann das Problem? Mit der Hardware ID? Oder gibt es noch einen anderen Identifizierungsmechanismus für PCs?



  • Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) 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.



  • Könntest natürlich die MAC-Adresse der Netzwerkkarte (bzw. einer Netzwerkkarte) einbeziehen. Die ist allerdings auch nicht unbedingt fälschungssicher. Dazu kommt, dass auf diese Weise zu registrierende Geräte überhaupt erstmal eine Netzwerkkarte haben müssen.

    Das Thema ist glaube ich nicht ganz so einfach.



  • Mit der Hardware ID?

    Welche Hardware ID? Gibt es eine GetHardwareID() Funktion in Windows die ich übersehen haben sollte?

    Was mir gerade so einfällt an IDs...

    * Die SID (System ID) - wird allerdings beim Klonen von Windows Installationen mitgeklont
    * Die CPUID (Hersteller, Typ, Stepping etc.)
    * Die Seriennummer der CPU (Gibt's die noch/wieder? und kann man die unter Windows auslesen?)
    * Die Volume-ID der Systemplatte - kann auch mitgeklont werden (je nach Backup Programm)
    * Die Seriennummer(n) der Festplatte(n)
    * Die BIOS Kennung (Versionsstring)

    Wie man die alle ausliest kann ich dir allerdings nicht sagen, müsstest du dich selbst schlau machen.

    Und: du willst die Lizenz vermutlich nicht auf *alle* diese IDs hängen, sonst kann der User nämlich so gut wie gar nix mehr tauschen, ohne dass er die Lizenz neu beantragen muss.
    D.h. du bräuchtest etwas ähnlich dem was Windows macht, wo es OK ist wenn sich einige dieser Werte ändern, so lange die anderen gleich bleiben.
    Tjo...



  • IMO Software an Hardware zu binden ist Kundenverarschung ;o



  • Ich teile diese Meinung.
    Aber hat das was mit der Frage des OP zu tun? 🤡



  • yuri_o schrieb:

    Sie ändert sich mit jedem Aufruf der Funktion.

    👍 😃


  • Mod

    Alle Hardware-IDs sind sehr leicht zu verändern/fälschen.


Anmelden zum Antworten