Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Hardware ID erstellen (https://www.delphipraxis.net/201431-hardware-id-erstellen.html)

HolgerX 22. Jul 2019 14:38

AW: Hardware ID erstellen
 
Hmm..

Zitat:

Zitat von DieDolly (Beitrag 1437298)
Mein Programm soll ganz einfach nur eine ID erzeugen, die für dieses System mehr oder weniger eindeutig ist. Ob es jetzt unter 1 Millionen Systemen eins gibt mit derselben ID ist mir egal.

Und da ist die Frage, ob OS Seriennummer, PC-Name, Nutzer-name, BIOS-Versions-String und Festplatten-IDs nicht schon ausreichen.

Und da liegt der Hund begraben:

OS Seriennummer
- Dürfte auf Terminserver mit Datacenter-Lizenz überall gleich sein...
BIOS-Versions-String
- wohl auch
Festplatten-IDs
- Die ID der virtuellen oder realen Festplatte, wenn überhaupt vorhanden?
Nutzer-name
- Dieser ist Schall und Rauch und wird eventuell an vielen PCs gleichzeitig verwendet.

PC-Name
- Diesen gibt es zu mindestens je Kunde nur einmal in seinem Netz.
- Allerdings könnte es dann mit Virtual Desktops Probleme geben, da dort der Name immer beim rollout wechselt, bzw. alle Clients wechselnd auch immer wieder andere VD bekommen können..

Es ist somit nicht einfach ein System 'Eindeutig' zu identifizieren.. ;)

Ein lokal benutzter FatClient, da kannst Du diese Hardsware-IDs (Serial HD/Bios/CPU..) 'grob' verwenden, aber wenn es virtual wird... dann ist es damit fast schon vorbei.

DieDolly 22. Jul 2019 14:40

AW: Hardware ID erstellen
 
Ich habe keine Ahnung was ein Terminserver sein soll aber ich kann dir sagen, dass mein Programm nur auf ganz normalen PCs läuft und niemals auf irgendwelchen Enterprise-Datacenter-Simsallabim-PCs.

Sherlock 22. Jul 2019 14:42

AW: Hardware ID erstellen
 
Was möchtest Du mit der HardwareID erreichen? Registrierte Anwender sollen Deine Software einfacher erneut installieren können? Mit einem ausgewechselten Stück Hardware (SSD?) geht das in der Regel schon schief. Den PC des Anwenders als Dongle zu nutzen war mal eine populäre Sache, weswegen man ja auch bei Intel sogar Seriennummern in die CPU einbaute. Allerdings ist das 10 Jahre her, und seither haben sich viel zu viele gemeldet, die das nicht so toll fanden, und auch gute Gründe dafür gaben. Und austricksen lässt sich das mit VMs ohnehin allzu leicht.

Da Du ja ohnehin eine DB und Onlineverbindung dazu herstellen mußt, ist es viel einfacher, User und Registrierungsschlüssel abzufragen (so wie Embarcadero...nur eben besser, bitte), als irgendwelche HardwareIDs, die durch semiambitionierte Anwender geändert werden können, schlicht durch Austausch von ein bis zwei Komponenten.

Wie bei jedem Kopierschutz möchte ich anregen, sehr genau darüber nachzudenken, ob Zeit und Aufwand, die in den Kopierschutz gesteckt werden, nicht besser im eigentlichen Programm aufgehoben sind. Höhere Qualität erzeugt zufriedenere Kunden, die wiederum die beste Werbung für ein Produkt sind, die man für Geld nicht kaufen kann.

Sherlock

DieDolly 22. Jul 2019 14:44

AW: Hardware ID erstellen
 
Zitat:

Da Du ja ohnehin eine DB und Onlineverbindung dazu herstellen mußt, ist es viel einfacher, User und Registrierungsschlüssel abzufragen
Das habe ich alles schon und eben Probleme mit Nutzern die ihre Daten weitergeben.

HolgerX 22. Jul 2019 14:46

AW: Hardware ID erstellen
 
Hmm..

Zitat:

Zitat von DieDolly (Beitrag 1437303)
Ich habe keine Ahnung was ein Terminserver sein soll aber ich kann dir sagen, dass mein Programm nur auf ganz normalen PCs läuft und niemals auf irgendwelchen Enterprise-Datacenter-Simsallabim-PCs.

Grob gesagt:
Einen Terminserver hast Du schon dann, wenn Du dich per RDP auf einen anderen PC aufschaltets. Dann ist dieser automatisch der Terminalserver....

Im gewerblichen Bereich werden dort z.B. Citrix-Terminservewr verwendet, welche eine virtuelle Umgebung für viele Clients gleichzeitig bereitstellen.

DieDolly 22. Jul 2019 14:47

AW: Hardware ID erstellen
 
Solch einen Fall wird es bei mir definitiv niemals geben.

johndoe049 22. Jul 2019 23:36

AW: Hardware ID erstellen
 
Hallo,

ich "hacke" mich mal frech hier rein :)

In meiner Software verwende ich auch eine Hardware ID.

Nicht wegen Kopierschutz, sondern wegen Zuordnung von Systemkonfiguration, Benutzererkennung, etc.

Früher, so Windows XP, wurde mal gesagt, dass Windows eine Installations ID pro Installation erzeugt. Wo steht diese in der Registry bei Windows 10, oder gibt es das nicht mehr? Bei Benutzern legt Windows angeblich nicht nur den Namen, sondern auch eine eindeutige Sicherheitskennung an. Gibt es das auch noch bei Windows 10?

Mir geht es nur darum, dass ich einen PC möglichst genau über interne Daten erkennen kann.

Danke.
Johndoe049

DieDolly 23. Jul 2019 00:14

AW: Hardware ID erstellen
 
Meinst du die MachineGUID?
https://www.nextofwindows.com/the-be...indows-machine

Leider steht da nicht seit wann es das schon gibt. Das Bild sieht aber nach Windows 7 aus. Das sollte lange genug sein.
Diese MachineGUID könnte man zusätzlich nehmen. Aber nur die würde ich nicht. Die kann man doch ändern?

So wie da im dem Artikel steht würde ich aber auch nicht die Festplatten-Seriennummern nehmen. Das dauert sehr lange die Nummern per WMI zu sammeln. Fast 1 Sekunde bei mir trotz SSD und ordentlichem Prozessor.

dummzeuch 23. Jul 2019 08:53

AW: Hardware ID erstellen
 
Vielleicht reicht es ja schon, in der Registry einen bestimmten Key anzulegen (pro User) und dort eine frisch erzeugte GUID reinzuschreiben? Die ist dann auch eindeutig pro Windows-Installation und User. (Es sei denn, jemand cloned die Platte.)

Ob das ausreicht, kommt auf den Anwendungsfall an. Als Kopierschutz reicht es nicht.

kompi 25. Jul 2019 15:46

AW: Hardware ID erstellen
 
In der Winapi.Windows gibt es die Methode "GetVolumeinformation". Damit lässt sich ohne großen Aufwand, und zudem sehr schnell, auch die Seriennummern der Laufwerke bestimmen. Man benötigt dafür keine WMI Abfrage.

Gruß Kompi


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz