Hardware-UUID

timroh

Mitglied
Hey,
vorhin war ich auf einer Seite, die überprüfen sollte, ob Flashback auf dem Mac drauf ist. Diese Seite verlanget dann die Hardware-UUID. Jetzt frage ich mich, was das Java-Applet mit dem anstellt...
kann mir da jemand ne Antwort drauf geben?
Vielen Dankt
Tim
 

irgendjemand

Top Contributor
viel interessanter finde ich eher wie ein APPLET eine hardware-uuid ermitteln will ...

*oder ist das nach der medion-art : du hast i-wo n aufkleber und sollst den code der drauf steht eingeben ?

btw : gibt es eine sichere methode mit java eine hardware-uuid zu berechnen ?
atm mache ich es über NetworkInterface.getHardwareAddress() über alle NICs und führe XOR drauf aus *also NIC1 xor NIC2 xor NIC3*
da man aber *gerade unter unix* die MAC eines NIC ändern kann *gerade bei virtuellen NICs* denke ich das dies nicht ganz so sicher ist ...

es gibt zwar irgendwo etwas was eine UUID erzeugt ... jedoch ist diese RANDOM ... und nicht HARDWARE-BASED *zu mal in eine UUID eh noch die aktuelle zeit mit einbezogen wird was ich ja nicht will*
 

Empire Phoenix

Top Contributor
Lesen lernen MAC!!
Die läst sich dort per commandzeilenbefelh bestimmen. und ist eindeutig , weltweit!

Code:
String machineId = null;
			final Runtime systemShell = Runtime.getRuntime();
			final String cmd = "system_profiler SPHardwareDataType";
			System.out.println("cmd=" + cmd + "\n");
			final Process output = systemShell.exec(cmd);

			final BufferedReader br = new BufferedReader(new InputStreamReader(output.getInputStream()));

			String line;

			while ((line = br.readLine()) != null) {
				try {
					System.out.println("C: reading line ...");
					Thread.sleep(100);
				} catch (final InterruptedException ex) {
				}
				System.out.println("line=" + line + "\n");
				if (line.contains("Serial")) {
					machineId = line.trim();
					break;
				}

			}
			br.close();
			output.destroy();
			if (output.exitValue() != 0) {
				System.out.println("could not run for macos machine id. exit value={}" + output.exitValue());
				throw new RuntimeException("could not get machine id");
			}

			if (machineId == null) {
				System.out.println("Could not get machine id");
			}
			machineId = StringReplace.replace(machineId, "Serial Number (system):", "");
			machineId = StringReplace.replace(machineId, " ", "");
			System.out.println("machineId(raw)=" + machineId + "\n");
			return new String[] { machineId, machineId, machineId, machineId };

Was man damit amchen kann? zb eindeutig den Mac identifizieren. Kp wofür die site das brcht, evtln um ne statistik zu berechnin weiviele aller macs die geprüft wurden infiziert sind? ? kp.
 

irgendjemand

Top Contributor
schön das es unter MAC etwas gibt was aus dem system eine eindeutige hardware-uuid berechnen kann ...

meine frage ging aber eher in die richtung : allgemein für ALLE systeme ...
 

Ähnliche Java Themen

Neue Themen


Oben