# Seriennummer der Festplatte+Motherboards mit Java auslesen



## globus (11. Okt 2004)

Hallo
Wie kann ich mit Java  die Seriennummer der Festplatte oder des Motherboardes auslesen ?
Grüße


----------



## abollm (12. Okt 2004)

globus hat gesagt.:
			
		

> Hallo
> Wie kann ich mit Java  die Seriennummer der Festplatte oder des Motherboardes auslesen ?
> Grüße


Mit JNI, indem du dir eine entsprechende C-/C++-Funktion schreibst.


----------



## Angel4585 (9. Jun 2007)

ich versuche auch gerade die Seriennummer der Festplatte auszulesen. In Delphi geht das relativ einfach, aber in Java find ich nix dazu, hat sich das was geändert mittlerweile?

Oder gibt es etwas anderes um einen Rechner eindeutig zu identifizieren?(MAC-Adresse oder sowas)
Und kann ich das mit Java irgendwie auslesen?


----------



## Gelöschtes Mitglied 5909 (9. Jun 2007)

MacAdresse geht so:


```
public static String getMacAddress() throws IOException
  {
    Process proc = Runtime.getRuntime().exec( "cmd /c ipconfig /all" );
    Scanner s = new Scanner( proc.getInputStream() );
    return s.findInLine( "\\p{XDigit}\\p{XDigit}(-\\p{XDigit}\\p{XDigit}){5}" );
  }
```


----------



## Angel4585 (9. Jun 2007)

ist aber nicht plattformunabhängig oder?


----------



## Tobias (9. Jun 2007)

Ne, geht nur auf Windows.

mpG
Tobias


----------



## Angel4585 (9. Jun 2007)

Habs:

```
public static String getMacAddress() throws IOException { 
        String mac = "";
        Integer zahl;
        NetworkInterface ni = NetworkInterface.getByInetAddress(java.net.InetAddress.getLocalHost());
        for(Integer i = 0; i<ni.getHardwareAddress().length;i++){
            try{
                if((zahl=Integer.parseInt(String.valueOf(ni.getHardwareAddress()[i])))<0)
                    zahl=256+zahl;
                if (zahl < 16)mac=mac+"0"+Integer.toHexString(zahl);
                else  mac=mac+Integer.toHexString(zahl);
            }catch(NumberFormatException nfe){
                mac=mac+ni.getHardwareAddress()[i];
            }
        }
        return mac;
```

die hab ich mir gerade zurechtgeschnibbelt 
(Geht glaub erst ab Java6)


----------



## HoaX (9. Jun 2007)

gut dass man unter windows und linux seine mac beliebig ändern kann ...


----------



## Angel4585 (9. Jun 2007)

kann man das? ich dachte man kann nur seine ip ändern


----------



## Hilefoks (9. Jun 2007)

Ja - die MAC-Adresse kann man einfach ändern, - unter Linux z.B. wie folgt:
	
	
	
	





```
ifconfig eth0 hw ether 00:31:04:63:98:6C 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
```

Kopierschutz der die Software an eine bestimmte Hardware binden soll ist Bullshit. Zum einen kostet sie relativ viel Geld (weil Zeit), zum anderen ist sie immer unsicher. Umso beliebter die Software umso schneller ist der Kopierschutz ausgehebelt.

Hardwaremäßger Kopierschutz ist da schon effektiver (Dongle, speziell präparierte CD/DVD, etc.), aber auch nicht unumgehbar. Zudem sind sie eine bestrafung für jeden Benutzer.

Firmen können es soch obendrein sowieso nicht leisten illegale Software zu verwenden. Letztlich verärgert man mit einem Kopierschutz nur die ehrlichen, zahlenden Kunden und spornt jene, die sowieso kein Geld für die Software ausgeben würden, dazu an einen Crack zu entwickeln.


MfG,
Hilefoks


----------



## HoaX (10. Jun 2007)

bei linux muss das iirc auch der treiber unterstützen, aber das tun alle gängigen.

unter windows gibts nen registry-key dafür


----------

