Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eindeutige Identifikation eines PCs (https://www.delphipraxis.net/70074-eindeutige-identifikation-eines-pcs.html)

Muetze1 24. Mai 2006 21:23

Re: Eindeutige Identifikation eines PCs
 
Zitat:

Zitat von MagicAndre1981
Zitat:

Zitat von Klaus01
Wie man sieht geht da auch was bei AMD - das Programm ist von hier http://www.lohninger.com/cpuid.html

Hmm, nope :zwinker: Das stimmt nicht. Nur bei Standard-CPUID-Level 3 hat die CPU eine eindeutige ID und das gabs nur bei PIIIs und Transmeta CPUs. AMDs haben nur einen Standard-CPUID-Level von 1. Wenn du die Seriennummer ermitteln willst kommt wohl nur ein zufälliger Wert raus. Das ist so, als wenn du eine Variable nicht initialisierst, da steht dann irgendwas drin :zwinker:

Die Pentium IV besitzen auch immernoch das "Serial Number" Feature - nur seit damals deaktivieren die BIOSe dieses Feature. Stell das BIOS um, dass es dieses nicht mehr abändert und schon hat man diese...

Hauptproblem wird aber hier sein: bei fast allen BIOSen ist dieses Feature disabled (bzw. das BIOS disabled es in der CPU)

MagicAndre1981 24. Mai 2006 21:28

Re: Eindeutige Identifikation eines PCs
 
hab keinen PIV, aber das mit dem im BIOS abschalten ist klar. Nur wollte Klaus ja sagen, dass AMDs das haben und das ist aber nicht so.

Olli 24. Mai 2006 21:48

Re: Eindeutige Identifikation eines PCs
 
Zitat:

Zitat von D11
Gerade mal mit Linspire Live CD getestet.
KEINE GUID !

Och ... nimmste eventuell stattdessen eine UUID (Bei Google suchenLinux UUID)?

Angel4585 24. Mai 2006 21:56

Re: Eindeutige Identifikation eines PCs
 
Ich les grad die ganze Zeit "Linux"

Ich progge en Client in Delphi, da iss nich viel mit Linux oder?

Der Client kommuniziert dann mit PHP-Skripten auf dem Server. Funzt alles wunderbar.
Nur weis ich eben nich wie ich den PC identifizieren soll..

1.IP werd ich auf jedenfall mal schicken
2.MAC falls vorhanden schick ich auch
3.hmm.. ma schaun.. Benutzernamen vielleicht?
4.Wo ihrs grad vom Bios habt.. kann man davon nich irgendwie ne version oder sowas auslesen?
5.noch en Vorschlag?

Auf jedenfall werd ich die gesammelten Daten dann Analysieren und wenn etwas "verdächtiges" auftritt gleich mal bei den Benutzern nachhaken :zwinker:

naja.. noch ne Menge Arbeit.. wenn sich des ma lohnt zu zeigen werd ich das Projekt mal hier in der Projektesparte vorstellen :-D

Auf jedenfall mal ein großes Danke für die Vorschläge
und wenn ihr noch weitere habt einfach noch posten.. ich bin ja fast jeden Tag hier :dp:

D11 24. Mai 2006 22:12

Re: Eindeutige Identifikation eines PCs
 
Falsch verstanden^^
...please delete :wall:

Olli 24. Mai 2006 22:25

Re: Eindeutige Identifikation eines PCs
 
Zitat:

Zitat von Angel4585
1.IP werd ich auf jedenfall mal schicken
2.MAC falls vorhanden schick ich auch
3.hmm.. ma schaun.. Benutzernamen vielleicht?
4.Wo ihrs grad vom Bios habt.. kann man davon nich irgendwie ne version oder sowas auslesen?
5.noch en Vorschlag?

Nein, sonst nichts. Ich bin raus aus der Diskussion :roll: :|

Angel4585 24. Mai 2006 22:32

Re: Eindeutige Identifikation eines PCs
 
Zitat:

Zitat von D11
re: Hallo zusammen,
wie ihr vllt schon mitbekommen habt programmiere ich ein MMOG in Delphi.
Jetzt bin ich gerade dran Cheater bzw. Multiuser zu unterbinden
und würde jetzt wissen welche Möglichkeiten ich da so habe.
+++++++++++++++++++++

unter Windows:
Also, wenn ich Multi sein möchte bei dir dann wurde ich einfach
IE6.x und den Firefox auf den Rechner machen
und ein Account im IE und den anderen im Fox spielen.

Frage?
Sicher kann ich dein MMOG auch spielen wenn ich Linux auf dem Rchner habe - oder?
Wenn ja, dann boote ich einfach mein PC mit einer Linux-Live-CD z.B Lindows 5.0 V2
so und das gibt keine Info's zurück und da CD ist schreiben unmöglich.

Viel wichtiger ist z.B alle TRASH-EMAIL Adressen zu blocken für die Account Anmeldung.
Und mit Session ID im Cookie zu arbeiten.
Und gegen Bot's bei MMOG's gibt es einen guten Trick^^ um das zu verhindern.
Der DB eine kurzfriste Random Session ID mitgeben - *google mal danach^^

Das mit einer ID klappt nicht^^

m.f.g
D11

ähm.. du hasts nicht verstanden oder? Das wird kein Browsergame wo du mit dem IE oder dem Firefox rein gehen kannst... ich schreib das spiel mit Delphi.. kein IE kein Firefox garnix.. un ob en Delphiprog auf Linux läuft bewzweifle ich.. ausser vllt aufm Wine aber das iss ja au wieder ne andere Geschichte...

D11 24. Mai 2006 22:36

Re: Eindeutige Identifikation eines PCs
 
ok jetzt ist es klar^^

Hier noch ein Tip gegen Bots (Server PHP MYSQL)

Und zwar lasse ich beim Formularaufruf (ist ne PHP-Datei) zum einen zwei Zufallszahlen generieren.
Zum anderen lasse ich eine Textdatei erstellen, die $randomzahl1.txt heißt und in die lasse ich $randomzahl2 schreiben.
Das Formular wird ausgefüllt und abgeschickt (mit beiden Random-Zahlen).
Das aktiviert das schreiben-Script.
Dieses öffnet die Textdatei. Liest die Zahl dort drin und vergleicht diese mit der übergebenen Variable $random2.
Natürlich wird dann nur der DB geschrieben, wenn die Zahl, die aus dem Formular kommt mit der Zahl in der Textdatei übereinstimmt.


Seriennummer einer Partition ermitteln
Autoren: Keine Autoren angegeben
Folgende Funktion gibt die Seriennummer einer Partition zurück.
Ihr muss als Parameter der entsprechende Laufwerksbuchstabe übergeben werden:
Delphi-Quellcode:
function GetSerialNumber(const ADrive: Char): Integer;
var
  SerialNum: DWORD;
  Dummy: DWord;
  Buffer: array[0..255] of Char;
begin
  Result := 0;
  if GetVolumeInformation(PChar(ADrive+':\'),
                          Buffer,
                          SizeOf(Buffer),
                          @SerialNum,
                          Dummy,
                          Dummy,
                          nil,
                          0) then
    Result:=SerialNum
  else
    RaiseLastOSError;
end;
Es handelt sich dabei nur um eine Nummer, die bei der Formatierung erzeugt wird.

RaiseLastOSError ist erst ab Delphi 6 verfügbar.
Programmierer, die mit älteren Versionen arbeiten müssen an dieser Stelle RaiseLastWin32Error verwenden.
Aufgerufen werden kann die Funktion beispielsweise so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Caption := IntToHex(GetSerialNumber('C'), 8);
end;Der Rückgabewert wird als 8-stellige Hex-Zahl interpretiert.

arbu man 24. Mai 2006 23:07

Re: Eindeutige Identifikation eines PCs
 
Eine interessante möglichkeit wäre auch ein Zeitwert im ms oder ns bereich von der windowsinstallation oder game installtion, der sollte eigentlich auch einmalig sein.

Angel4585 25. Mai 2006 05:14

Re: Eindeutige Identifikation eines PCs
 
Zitat:

Zitat von arbu man
Eine interessante möglichkeit wäre auch ein Zeitwert im ms oder ns bereich von der windowsinstallation oder game installtion, der sollte eigentlich auch einmalig sein.

Wenn ich überhaupt eine Installation mache.. im Moment würde es locker reichen einfach die exe zu starten... aber keine schlechte Idee :-D
Aber der zeitpunkt der Windowsinstallation klingt nicht schlecht.. aber was ist bei Images, in der Schule hat das unser Lehrer so gemacht, das er Windows auf einem Rechner installiert hat und auf die anderen dann nurnoch ein Image gezogen hat. Da dürfte die Zeit doch immer die selbe sein oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
Seite 3 von 4     123 4      

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