AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TGUID - einzigartige ID auf andere Computer Systeme ?
Thema durchsuchen
Ansicht
Themen-Optionen

TGUID - einzigartige ID auf andere Computer Systeme ?

Ein Thema von paule32.jk · begonnen am 20. Okt 2023 · letzter Beitrag vom 2. Nov 2023
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.063 Beiträge
 
Delphi 12 Athens
 
#1

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 05:51
Dann wird die GUID doch auch wieder mit Hilfe der MAX erstellt, und damit die Möglichkeit besteht, das zwei Benutzer die gleiche haben - aber unterschiedliche Programme.
Also Benutzer A gibt ISO + Key weiter, ohne die alte Kopie zu löschen.
Was hat denn die Mac-Adresse der Netzwerkkarte mit dem verwendeten Lizenzschlüssel zu tun? Zur Generierung wird auch nur eine physische Mac Adresse verwendet. Sind nur virtuelle Netzwerkkarten vorhanden, wird ein anderer Algorithmus verwendet.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
371 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 06:33
nun... virtuelle MAC Adressen werden auf Grundlage von bestehenden MAC Adressen vergeben.
Man kann daher auch von Layer sprechen/schreiben, da man die V-MAC "auf" eine bestehende MAC aufschaltet.
Man könnte ja zum Beispiel die lokale Adresse 127.0.0.1 heran ziehen, die auf jeden Computer-System mit einer dazugehörigen MAC Adresse vorhanden ist (ob nun eine NIC installiert ist oder nicht) - das ist dann eine Software NIC.
Wie man das nun im Detail macht würde wohl sicher hier den Rahmen sprengen...
Dann gibt es ja auch noch die drivers/etc/hosts Datei, in der man lokales DNS emulieren kann, um so mittels dem IIS virtuelle Domains/Hosts zu einer IP zu binden (und zurück) kann, und so lokale Entwicklung von WebSeiten ermöglicht wird.

von daher nur als kleiner Wink: öffne doch mal die Eingabeaufforderung-Console und tippe da mal folgendes Kommando ein: C:\ipconfig
und schon kann man Informationen über IP und MAC bekommen.
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 07:39
von daher nur als kleiner Wink: öffne doch mal die Eingabeaufforderung-Console und tippe da mal folgendes Kommando ein: C:\ipconfig
und schon kann man Informationen über IP und MAC bekommen.
Ich hätte ja jetzt eher "ipconfig /all" genommen, aber du machst das schon!

Inzwischen hat dein vorletzter Beitrag auch irgendwie nichts mehr mit der Ursprungsfrage zu tun.
Hast du das Konzept eines globalen eindeutigen Bezeichners nun verstanden oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#4

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 10:03
Also geht es eigentlich um Product Key, die GUIDs zum verwechseln ähnlich sehen. Da bin ich gespannt, wie dieser Thread weiter geht.
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
371 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 11:14
@sherlock:

- indirekt:
ein Teilnehmer hat ja gepostet, das andere Möglichkeiten neben das MAC noch in den GUID Key verwendet werden, um diesen zu produzieren.

- direkt:
Es gab mal eine Windows Version, bei der die Lizenz.Key's nicht mehr ausgereicht haben, und Microsoft sein Produkt neu kompilieren musste, um dann auf "neue"Consumer Key's zuzuführen.

Ich will jetzt nicht erwarten, das einer mit nen Windows Key-Generator kommt.
Aber ich wollte mal das Thema abwarten, wie andere auf den Titel dieses Beitrages Ideen hinzufügen.

Irgendwann wird wohl dann doch Einer kommen, und aus den jetzt schon gelieferten Ideen, Code usw. ... neue Ideen zu entwickeln.

Aber ja (betrifft ja auch Embercaerdo mit seinen Produkten).
Es ist halt der Trend, das immer weniger Desktops eingesetzt werden, hin zu mehr "Components".

Ich hatte ja schon angedeutet, dass die Remote Desktop Dingends ja aus der *nix Zeit stammt - dort wo man das RPC (Remote Procedure Call) finden kann - was dann zu ActiveX und COM+ wurde.

Das RPC Protokoll anfürsich nutzt ja für die Übergabe nur eine 32-Bit Nummer zu jeder Methode, die einmal auf den Server, und einmal am Client stimmen muss.
Selbst unter Windows haben die DLL Funktionen Nummern, die, wie ich mitbekommen habe unter einer 16 Bit Zahl aufgerufen werden können - neben dem Funktionsnamen.

Man kann ja auch das Tool dumpbin benutzen, um die RVA's der DLL anzuzeigen.
Neue Windows-Versionen nutzen nicht mehr diese Nummer (im Kernel kann ich mir das vorstellen, dort wo Information Hidding oder auch zusätzlich Obfuscatoring gemacht)

Ich weiß jetzt nicht, ob man das Tool kostenlos als Einzelpaket vom Internet saugen kann... aber es ist auf jedem Falle in den Tools der Visual Studio (Community) Version 19 (2022) mit bei.

Ich kann aber keine detailierten Angaben machen, was man so machen kann, nur mal ein paar Tipps.
Aber ich muss da neutral bleiben, damit keine Rechtsverletzungen auftretten, und dann gesagt wird: "Ja der hat doch das so gesagt, wie ich das machen muss...".

Nene, damit will ich nix zu tun haben.
Daher distanziere ich mich auf jeden Fall.

Deshalb auch nur am Rande:
"ALLE ANGABEN AUF EIGENE GEFAHR, UND AUSSCHLIEßLICH NUR FÜR TESTZWECKE, UND NUR FÜR DEN PRIVATEN, NICHT-KOMMERZIELLEN NUTZUNG".


@TiGü:
Ich versuche zu verstehen...
Ich fachsimple mal, das die interne Datenbank von Windows in den Registrierung oder einer versteckten Datei gespeichert werden, und bei jedem "neuen" Setup eines Programmes geändert bzw. neu verteilt werden.
Der Windows-Loader - egal jetzt ob DLL oder EXE, der setzt ja auch intern immer neue Offset's zusammen. Und wenn dann der Computer aus und ein-geschaltet wird, werden dann die neue Offset verwendet.

Somit leuchtet es mir auch ein, das nach (fast) jeden neuen Setup/Install einer Komponente der Computer neu gestartet werden muss...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk ( 1. Nov 2023 um 11:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 12:02
Es gab mal eine Windows Version, bei der die Lizenz.Key's nicht mehr ausgereicht haben, und Microsoft sein Produkt neu kompilieren musste, um dann auf "neue"Consumer Key's zuzuführen.
Das muss dann aber schon Ewigkeiten her sein.

Das RPC Protokoll anfürsich nutzt ja für die Übergabe nur eine 32-Bit Nummer zu jeder Methode, die einmal auf den Server, und einmal am Client stimmen muss.
Es gibt viele RPC Protokolle und diese Form der Übermittlung ist eher unüblich. Meistens wird eher ein Name oder (z.B. bei REST) eine URL verwendet.

Ich fachsimple mal, das die interne Datenbank von Windows in den Registrierung oder einer versteckten Datei gespeichert werden, und bei jedem "neuen" Setup eines Programmes geändert bzw. neu verteilt werden.
Der Windows-Loader - egal jetzt ob DLL oder EXE, der setzt ja auch intern immer neue Offset's zusammen. Und wenn dann der Computer aus und ein-geschaltet wird, werden dann die neue Offset verwendet.

Somit leuchtet es mir auch ein, das nach (fast) jeden neuen Setup/Install einer Komponente der Computer neu gestartet werden muss...
Du stellst dir das glaube ich falsch vor. Die Offsets kommen schlicht dadurch zustande, dass z.B. Objektreferenzen in Delphi an einer bestimmten Speicherstelle liegen. Von dort aus wird dann grob gesagt das Klassengerüst drübergestülpt um die echten Adressen zu ermitteln. Wenn z.B. ein Feld 50 Byte nach dem Beginn der Klasse liegt, werden diese 50 Byte zu der Adresse hinzugezählt, an der die Objektreferenz liegt.

Genauso werden DLLs in den Speicher geladen und liegen dann an einer bestimmten Stelle im Speicher. Genauso kann man von dort aus dann die relativen Speicheradressen der Funktionen über die Ladeadresse in absolute Adressen umwandeln.

Im Detail steckt da noch einiges mehr dahinter, z.B. die Virtual Method Table usw., aber als grob vereinfachte Datstellung sollte das reichen.

Es gibt keine interne Datenbank oder so, sondern in den DLLs sind Offsets zu den einzelnen Methoden gespeichert. In Kombination mit der Adresse der DLL im Speicher bekommt man dann die absolute Adresse. Die Offsets sind in den DLLs pro Version fest und ändern sich nur ggf. bei einer neuen Version der DLL. Die echte Speicheradresse wird jeweils dynamisch ermittelt.

Ich sehe allerdings nicht, was das mit dem Thema zu tun hat und worauf du eigentlich hinaus willst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
752 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TGUID - einzigartige ID auf andere Computer Systeme ?

  Alt 1. Nov 2023, 12:57
Ich habe nicht die geringste Ahnung was UID mit dem neu starten des Rechners zu tuen hat.
Die CLSID's in der Registry (falls es darum geht) sind Windows-weit eindeutige UID die Interfaces für alles mögliche identifizieren. Zum Beispiel, das Paint ein Bild in einem Format öffnen kann das noch nicht existiert hat als Paint veröffentlicht wurde.
Du unterstellst Windows da Verhalten was absolut unnütz ist und somit auch nie existiert hat. Das Neustarten des Rechners hat damit zu tuen dass Dll's nicht ersetzt werden können wärend sie irgendwo in Verwendung sind.
Somit gibt es zwei Optionen das zu tuen.
1. Die existierende Dll umbenennen (was Windwos mitbekommt) und dann die Datei ersetzen. NACH einem Neustart des Programmes wird dann die neue Dll verwendet.
2. Den Windows-eigenen Dienst beauftragen (PendingFileRenameOperations) das ersetzten zu übernehmen wenn der Rechner neu gestartet wird.

Irgendwie kommt es mir so vor als willst Du uns entlocken wie man gültige Keys für jede beliebige Software generiert. Das wäre total Banane. Selbst wenn die wie UID aussehen heißt das nicht dass es UID sein müssen. Und Keys haben eine ganz andere Funktion als UID's was es unnütz macht nach einem Zusammenhang zwischen beiden zu suchen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz