Die Mac OS X-Entwicklung ist ein ziemlich neues Tier für mich, und ich bin gerade dabei, einige Software zu portieren. Für Software-Lizenzierung und Registrierung muss ich in der Lage sein, eine Art Hardware-ID zu generieren. Es muss nichts Besonderes sein; Ethernet-MAC-Adresse, Festplatten-Seriell, CPU-Seriell, so etwas.Einzigartige Hardware-ID unter Mac OS X
Ich habe es unter Windows abgedeckt, aber ich habe keine Ahnung von Mac. Jede Idee von dem, was ich tun muss, oder wo ich Informationen dazu bekommen kann, wäre großartig!
Edit:
Für alle anderen, die daran interessiert ist, das ist der Code, den ich mit Qt QProcess Klasse am Ende mit:
QProcess proc;
QStringList args;
args << "-c" << "ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { print $3; }'";
proc.start("/bin/bash", args);
proc.waitForFinished();
QString uID = proc.readAll();
Hinweis: Ich bin mit C++.
Danke, das scheint die Art zu sein, die am besten funktioniert. Die Ausgabe des System Profilers scheint auf verschiedenen Systemen unterschiedlich zu sein, so dass ich fürchte, dass eine Flut von Supportanfragen die Software nicht registrieren kann. – Gerald
Diese Technik ist jedoch leicht zu knacken - ersetzen Sie einfach/usr/sbin/ioreg durch ein Skript, das eine bekanntermaßen gute UUID (anstelle einer maschinenspezifischen UUID) zurückgibt. Ein direkter Aufruf in die Systembibliotheken (zum Beispiel @ yairchus Antwort) macht das Cracken ein bisschen weniger trivial. – smokris
@smokris andernfalls entspricht dies IORegistryEntryFromPath? – tofutim