Rechner eindeutig identifizieren

benhaze

Mitglied Platinum
Hallo liebe Entwicklergemeinde!
Ich hätte da mal eine Frage zum Identifizieren eines Rechners.

Was kann man machen, wie macht's man am Besten?

Es sollte möglichst (aber nicht zwangsweise) Platformunabhängig bleiben.
d.h mit JNI die Festplatten-Seriennummer auslesen, würd ich erst ziemlich zuletzt anstreben.

Danke!
-Ben
 
Ich denk das wir schwer, denn wenn könnte man es bestimmt leicht cracken sprich JNI = ASM(Schwiriger)
Bytecode = Java(Leichter)

Würde dann gerne dein Schutz testen (Wenn du einen hast) =) Wenn interesse besteht PM

mfg

//EDIT Mir ist grad noch eingefallen auf Softwareebene wäre es vllt nicht gerade richtig, denn wenn der User das System neu installiert könnte das Programm blocken.
 
Zuletzt bearbeitet:
Antworten auf meine Fragen sind sehr sehr selten!
Also danke schonmal dafür!

Also mir geht es nur darum den *Rechner* irgendwie zu identifizieren.

Am einfachsten wäre es, beim 1. Start meiner Anwendung eine Datei zu erstellen, die z.B eine (G)UID enthält.
Das man diese Datei manipulieren/oder austauschen kann ist mir zweitrangig.
(Hierbei ist das Problem, schreibend kann ich nur auf das UserVerzeichnis zugreifen)

wenn der User das System neu installiert könnte das Programm blocken
das wäre nicht so schlimm...
man könnte sich problemlos nach einer *neuaktivierung* wieder einloggen...
 
Du könntest den einen SystemKey(z.b Registrationsnr) Auslesen(Da bleibt es bei der Plattform wieder hängen) und diesen mit md5 verschlüsselt in eine Datei packen.
Oder in ein Bild =)
 
Ja ^^ aber da kommt man dummerweiße wieder nicht an JNI vorbei was auch wieder nicht Plattform unabhänig ist.
Außer du legst beide mitbei und unterscheidest dann einfach bei der Laufzeit welche DLL du aufrufst je nach OS.
 
Zuletzt bearbeitet:
habe mal nach mac-adresse und java gegoogelt...
und was gefunden (geht aber erst seit java 6...welches ich aber nutze!)

Java:
public static String getMacAddress() throws SocketException 
{ 
  String result = ""; 
 
  for ( NetworkInterface ni : Collections.list(  
        NetworkInterface.getNetworkInterfaces() ) ) 
  { 
    byte[] hardwareAddress = ni.getHardwareAddress(); 
 
    if ( hardwareAddress != null ) 
    { 
      for ( int i = 0; i < hardwareAddress.length; i++ ) 
        result += String.format( (i==0?"":"-")+"%02X", hardwareAddress[i] ); 
 
      return result; 
    } 
  } 
 
  return result; 
}

werde ich mal testen...
 
Zurück