Laden...

einmalige Daten eines PC´s auslesen

Erstellt von matthemat vor 19 Jahren Letzter Beitrag vor 18 Jahren 3.345 Views
matthemat Themenstarter:in
69 Beiträge seit 2005
vor 19 Jahren
einmalige Daten eines PC´s auslesen

HI,
ich möchte Daten eines PC auslesen die einmalig sind ( jeder PC hat andere, so eine Art IP im Internet ).
Wenn irgendjemand so was kennt oder weiss wie es geht wäre ich über eine Antwort sehr froh.
Thx
Mat

137 Beiträge seit 2005
vor 19 Jahren

Stichwort: SID

A computer's SID is stored in the Registry's SECURITY hive under SECURITY\SAM\Domains\Account. This key has a value named F and a value named V. The V value is a binary value that has the computer SID embedded within it at the end of its data. NewSID ensures that this SID is in a standard format (3 32-bit subauthorities preceded by three 32-bit authority fields).

Quelle:
http://www.sysinternals.com/ntw2k/source/newsid.shtml

Das habe ich über google in diesem Link gefunden. Schau Dir mal hier den 3. Post an (dreht sich zwar um VB, sollte aber in diesem Fall egal sein):

http://www.msusenet.com/archive/index.php/t-1705828.html

An diesen Schlüssel kommst Du aber nur, wenn Dein Programm unter dem SYSTEM-Account läuft. Das ist also kein gangbarer Weg. In regedit.exe siehst
Du den Schlüssel auch nur, wenn Du regedit.exe unter dem SYSTEM-Account
startest... schnippel

4.221 Beiträge seit 2005
vor 19 Jahren

Da bietet sich die MacAddress des Netzwerkadapters an.....

Sollte global Unique sein....


		//using System.Management;
		private string GetPrimaryMacAddress()
		{
			string ret=null;
			ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
			ManagementObjectCollection objMOC = objMC.GetInstances();

			foreach(ManagementObject objMO in objMOC)
			{
				if((bool)objMO["ipEnabled"])
				{
					ret=(string)objMO["MACAddress"] ;
					break;
				}
			}
			return ret;
		}


gefunden bei: CodeProject

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

1.549 Beiträge seit 2004
vor 19 Jahren

Original von Programmierhans
Da bietet sich die MacAddress des Netzwerkadapters an.....

Hat dan nur den Haken das Jeder nutzer dan eine netzwerkkarte haben muss.
Wie wäre es mit der Win Seriennummer die man bei der Intalation eingeben muss?
bin mir nur nicht sicher wo die Gespeichert ist weis nur das man sie bei Me aus der Registry auslessen konnte wo genau weis ich aber auch nicht mehr hahe den eintrag damals gefunden indem ich einfach nach denn 1. Block des Codes gesucht habe

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

matthemat Themenstarter:in
69 Beiträge seit 2005
vor 19 Jahren

hi,
danke zuerst mal für eure antworten.

@ Shaderman :

kann man Programme nicht irgendwie unter dem SYSTEM-Account laufen lassen und hat man sonst wirklich keine Chance an die SID zu kommen ?

danke für deinen POST
Mat

@Programmierhans :

Da sehe ich leider das gleiche Problem wie S.H.-Teichhof :

Hat dan nur den Haken das Jeder nutzer dan eine netzwerkkarte haben muss.

Und noch eine Frage, kann man die Mac-Adresse LOKAL nicht einfach ändern, wie die IP, wenn man nicht an einen Server angeschlossen ist der die IP´s vergibt.

danke für deinen POST
MAt

@S.H.-Teichhof :

Eine gute Idee, aber was ist mit Windowsversionen weitergegeben werden ( mit KEY ) ??

danke für dein POST
Mat

@all:

diese Ziffernkette sollte so gut es geht vom Benutzer nicht geändert werden können, eigentlich gar nicht.

Thx
Mat

1.549 Beiträge seit 2004
vor 19 Jahren

Die Mac-Adresse kann nur geändert werden wenn die Netzwerkkarte getauscht wird da sie eine einmalige nummer ist die fest in die Netzwerkkarte eingebaut ist.
(Wenn ich es richtig mitbekommen habe hat eine Firma auch mal welche mit Gleicher Mac hergestellt solte aber die Ausnahme sein.

Wie wäre die Seriennummer der CPU ?? hab zwar keinen Schimmer wie man an die Rann kommt kaber die ist einmalig und die CPU wirt weniger gewechselt als eine Netzwerkkarte und ist noch dazu in Jedem Computer eingebaut

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

4.221 Beiträge seit 2005
vor 19 Jahren

die macaddress kann übersteuert werden..... habe früher mal in einem betrieb gearbeitet wo das üblich war (die pcs wurden dann im lan an ihrer macaddress identifiziert)....

das mit der processor-seriennummer wirft auch probleme auf, die kann doch deaktiviert werden oder ?

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

354 Beiträge seit 2004
vor 19 Jahren

Die meisten neuen Netzwerkkarten-Treiber erlauben es die MAC zu überschreiben - zumindest von bestimmten Herstellern. Und selbst wenn nicht, gibt es die Möglichkeit diese zu übersteuern. Ergo kein guter Anhaltspunkt.

Eine 100%ig globale Unique-Id wirst schwer finden 🙁

.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup

1.549 Beiträge seit 2004
vor 19 Jahren

Wenn du die nummer nicht PC sondern Nutzer Gebunden machen wilst wie wäre eine Generrierung aus verschiedennen daten und der urzeit der Instalation wäre relativ unwarscheinlich das es 2 Gleiche geben würde

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

4.221 Beiträge seit 2005
vor 19 Jahren

Wäre nicht auch folgendes eine Möglichkeit ?

Du erstellst auf dem PC eine GUID und speicherst diese ab... dann kannst Du den PC auch immer wieder erkennen....

Weiss ja nicht wofür Du das brauchst...

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

matthemat Themenstarter:in
69 Beiträge seit 2005
vor 19 Jahren

HI @ all,

@S.H.-Teichhof :

Hi,
die Nummer die ich generieren möchte sollte schon nach möglichkeit PC weit die gleiche sein, aber man könnte es theorethisch aber auch User abhängich machen.
Ich muss nur später wieder auf die Zahl zugreifen können ( Uhrzeit ) ( die Zahl muss LOKAL gespeichert werden und kann nicht in eine dem Programm zugehörige Datei geschpeichert werden) .

erkundige mich mal wegen der CPU - Nummer, die würde 100% funktionieren.

Danke für deine Ideen

@Programmierhans :
Hi,
kanst du mir vielleicht erklären was eine GIUD ist, oder wie das funktioniert ?
So ca. kann ich mir vorstellen was du meinst, aber ich weiss eben nicht wie es geht.

Thx
Mat

354 Beiträge seit 2004
vor 19 Jahren

.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup

4.221 Beiträge seit 2005
vor 19 Jahren

Lass mal laufen:


for (int i=0;i<10;i++)
			{
				Guid g=Guid.NewGuid();
				System.Diagnostics.Debug.WriteLine(g.ToString());
			}

Output:

38acf758-e5f1-46a0-b883-0dc4a28fd14f
54d6d316-26e3-4bc2-a402-ac04336e123d
7dc0fd84-dbb6-4e48-a35e-8a7db3d3dda8
643677b1-061d-4bc1-99d9-641bbd7d8976
319b458d-e330-47f1-b1fb-b1729365a8cc
f488caad-2fa1-4e19-be51-607f3acef30d
5c663b43-c18f-4c7d-b1d6-60b029686f0f
9c10306a-3fff-4971-a2a9-80ab9a34ca8b
e0be7457-cd2f-4dc7-8ab6-c8b1ab2a8311
59846417-aa3a-4baf-863f-877d6778b2fb

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

matthemat Themenstarter:in
69 Beiträge seit 2005
vor 18 Jahren

HI,

@Programmierhans :

danke,
ist eine GUID so was wie eine Session - ID in PHP ?!?
Das beduetet i erzeuge so eine GUID und speichere sie in der Registry und sonstirgendwo ( datei ) und dann kann ich sie immer vergleichen.
Falls das falsch ist könntest du mich ja bitte aufkären, danke.

Thx Mat

S
709 Beiträge seit 2005
vor 18 Jahren

Wenn du das irgendwo speicherst solltest du es natürlich verschlüsseln!