Eines der größeren Ärgernisse der letzten Zeit dürfte wohl die Tatsache sein, dass sich iMessage und Facetime auf dem Hackintosh nicht mehr aktivieren lassen möchten und man stattdessen eine Meldung angezeigt bekommt die besagt, dass man sich doch bitte mit Apple in Verbindung setzen möge. Klar dieser Zustand ist für die Community nicht wirklich befriedigend und so wird hart an einer Lösung gearbeitet diese Services auch auf dem Hackintosh wieder nutzbar zu machen.
Bevor ich ins Detail gehe und einige der Hintergründe darlege die beleuchten warum Apple die Hackintoshes aus den Diensten aussperrt verspreche ich Euch, dass Ihr nach dem lesen des Threads in der Lage sein werdet beide Dienste wieder zu nutzen. Voraussetzung dafür das es funktioniert ist ein System das mit Clover oder Ozmosis gebootet wird und das einen beschreibbaren NVRAM oder eine NVRAM Emulation besitzt. Bevor ich nun konkret beschreibe, was bei den einzelnen Bootloadern zu tun ist damit das Anmelden an die Dienste wieder funktioniert möchte ich gerne einige Hintergründe beleuchten um ein Grundverständnis von der Funktionsweise zu vermitteln denn ich finde es ist immer besser wenn man versteht warum etwas nicht mehr funktioniert als nur einer Anleitung zu folgen ohne die Hintergründe zu verstehen. Also los geht es...
Was wir wissen und warum die alten Methoden nicht mehr funktionieren:
Um iMessage und Facetime zu aktivieren und zu nutzen sind 3 Werte von Bedeutung von denen 2 so zu sagen als Schlüssel für die Tür fungieren und einer zur eindeutigen Identifikation des Systems. Demnach werden genau 3 Werte aus dem System an Apple übertragen dies sind im einzelnen die MLB, der ROM und die HardwareUUID. Bis dato hat es keine Rolle gespielt ob der MLB und der ROM wert plausibel war, es hat ausgereicht, wenn beide Werte das richtige Format hatten (MLB 17 Stellen und ROM 12 Stellen) der Inhalt war hierbei bis etwa mitte November eher egal, Hauptsache das Format war plausibel. Zwar gab es auch hier den gefürchteten "Costumer Code" aber gut, dann hat man eben bei AppleCare angerufen und eine mehr oder weniger anrührende Geschichte erzählt und zack war man drin. Genau das geht jetzt nicht mehr und aus genau dem Grund macht es keinen Sinn bei Apple anzurufen, die können Euch nicht mehr helfen. Apple hat den nächsten und eigentlich auch logischen Schritt gemacht und die Regeln für die Authentifizierung an den Servern verschärft so, dass zufällig zusammengewürfelte Werte schlicht und ergreifend nicht mehr funktionieren.
Und nun, wie soll es dennoch klappen?
Eine Menge findige Köpfe machen sich im Moment Gedanken darüber wie der Zauber im Hintergrund funktioniert und bei all dem wird eines immer deutlicher klar, die Seriennummer des MAC´s spielt hierbei keine oder wenn doch nur eine sehr untergeordnete Rolle. Die Werte, auf die es ankommt sind MLB und ROM wobei hier immer mehr Muster erkennbar werden wie diese Werte aufgebaut sein müssen um den Richtlinien zu entsprechen. Schaut man ein wenig hinter die Kulissen stellt man fest, dass es MAC´s mit 11, 12 und 13 stelliger Seriennummer gibt und analog hierzu gibt es 13 und 17 stellige MLB Werte (11 Stellen in der Serial = 13 Stellen MLB, 12 oder 13 Stellen in der Seriennummer = 17 Stellen MLB). Die MLB Werte scheinen hierbei einem ähnlichen Muster zu folgen wie die Serials (in der Seriennummer sind diverse Informationen kodiert unter anderem der Produktionsort, das Jahr und die Woche sowie eine fortlaufende Nummer, die angibt um welche produzierte Einheit der Woche es sich handelt). Ausgehend von diesen Informationen und von der Vermutung, das Apple nicht wirklich jede einzelne MLB gegen eine Datenbank checkt sondern lediglich die Plausibilität anhand eines Suchmusters prüft sollte es bald möglich sein diese Werte genau so zu berechnen wie schon jetzt die Seriennummern. Wenn es also möglich ist plausible MLB Werte zu berechnen ist es ein Leichtes Apple gültige Daten zu übermitteln um die Dienste nutzen zu können. Die Vermutung, dass Apple lediglich nach Suchmustern prüft nicht jedoch jeden Wert einzeln gegen eine Datenbank checkt wird durch die Tatsache untermauert, dass seit einiger Zeit die MLB und ROM Werte eines echten iMAC im Netz kursieren und inzwischen wohl ein Haufen Hackintoshes mit dessen Werten (dank an der Stelle an den USER PAVO aus einem der großen US Foren) unterwegs sind. Ich möchte an der Stelle nicht weiter in die Tiefe gehen sondern lieber dazu kommen wie Ihr Eure Kisten nun Fit macht....
Was ist nun also zu tun, was Brauchen wir?
Damit das Ganze nun also funktioniert braucht Ihr einen Hackintosh mit Mavericks oder Yosemite der mit Clover oder Ozmosis bootet (unter Mavericks könnte auch Chameleon mit funktionierendem FileNVRAM.dylib klappen) ein paar Minuten Zeit und ein wenig Geschick darin die Werte an die richtige Stelle zu setzen. Da sich das Vorgehen für Clover und Ozmosis unterscheidet werde ich für beide Loader ein kleines Howto schreiben und beide Spoilern so, dass Ihr aufklicken könnt, was für Euch gerade wichtig ist.
Ozmosis:
Bevor Ihr weiter macht empfehle ich Euch dringend auf die aktuelle Ozmosis Version upzugraden (1479) da diese bei den meisten Firmwares den NVRAM beschreibbar macht und Euch so einen einfachen Weg an die Hand gibt die Werte schnell zu setzen. Sofern Ihr schon die neueste Ozmosis Version im Einsatz habt oder aber eine ältere im Einsatz habt aber trotzdem über einen beschreibbaren NVRAM verfügt könnt Ihr wie folgt vorgehen:
Öffnet Euch ein Terminal und gebt die folgenden beiden Befehle ein:
zudem solltet Ihr Euch noch einen zufällige PlattformUUID vergeben um sicherzustellen, das diese einmalig ist. Hierzu einfach im Terminal den Befehl uuidgen eingeben und das mehrfach wiederholen (nur um sicher zu gehen).
Gesetzt wird die generierte ID dann mit dem Befehl
Ist alles erledigt startet Ihr Euren Rechner nun neu meldet Euch aber bitte nach dem Reboot nicht direkt an iMessage oder FaceTime an sondern überprüft erstmal ob die Werte auch übernommen wurden. Am einfachsten geht das mit dem iMessageDebug tool aus dem Downloadbereich. Einfach per Doppelklick ausführen es sollte in etwas so aussehen:
passen die Werte mit Euren Eingaben überein meldet Euch an und habt Spaß, passen sie nicht ist Euer NVRAM nicht beschreibbar und die Werte müssen in die OzmosisDefaults.plist eingetragen werden. Wie man diese bearbeitet findet man in den Anleitungen um Ozmosis Bereich des Forums solltet Ihr damit nicht klarkommen scheut Euch nicht mir Euer aktuell verwendetes Bios zu schicken und ich passe Euch die Werte dann entsprechend an.
EDIT 13-12-2014: Sofern Ihr aus irgendeinem Grund noch OZM894M verwenden müsst zum Beispiel, weil Euer System ein FusionDrive beinhaltet oder ein Raid0, dann ist das Vorgehen ein wenig anders, da OZ894M den Parameter "HardwareAddress" nicht kennt sondern den ROM Wert aus der PlattformID ableitet. Um mit OZ894M das selbe Ergebnis bei beschreibbaren NVRAM zu erreichen ist ein leicht anderes Vorgehen nötig. Alles was vorher zum MLB Wert gesagt/geschrieben wurde behält weiterhin Gültigkeit allerdings gibt es eben einen entscheidenden Unterschied beim ROM Wert denn dieser lässt sich mit der 894M nicht direkt setzen. Damit es trotzdem klappt gehen wir wie folgt vor:
1. HardwareID mit uuidgen im Terminal erzeugen
Ausgehend von der Ausgabe im Terminal nehmen wir uns jetzt den erzeugten Wert und ersetzen das Ende durch unseren ROM Wert. Es wird also aus
Damit das Ganze jetzt für Unsere Sache nutzbar wird formen wir den Wert um so, dass wir Ihn über das NVRAM Command setzen können. Hierzu entfernen wir zunächst alle Bindestriche
und versehen anschließend jedes doppelpaar mit einem % Zeichen (es handelt sich hierbei um Bit´s).
Einmal erledigt haben wir nun alles, was wir brauchen um iMessage und FaceTime auch mit OZM894M zu aktivieren. Damit es klappt geben wir nun den eben erzeugten Wert ins NVRAM ein
starten den Rechner neu und überprüfen mit dem iMessageDebugTool ob der Wert nun stimmt. Die Ausgabe sollte wie folgt aussehen
Sofern alles Stimmt steht einer Anmeldung an iMessage und FaceTime nichts mehr im Wege. Bitte kopiert die im Beispiel genannten Werte nicht einfach sondern erzeugt Euch Eure eigenen. Die SystemID spielt eine wichtige Rolle und sollte nicht Mehrfach vorkommen, danke.
Clover:
Um iMessage und FaceTime mit Clover zu aktivieren bedarf es einiger Anpassungen an der Config.plist. Ich empfehle das Programm CloverConfigurator aus dem Downloadbereich dazu zu nutzen. Im Groben und Ganzen ist nicht viel mehr zu tun als 2 Werte einzutragen und einen Haken zu setzen Die ganze Geschichte ist ziemlich straight forward und bedarf keiner tieferen Kenntnisse der Materie allerdings ist eine Sache extrem wichtig, der NVRAM muss beschreibbar sein oder falls das bei Euch nicht der Fall ist muss zumindest NvrmExpressDxe (bei Rechnern ohne UEFI install) oder aber EmuVariableUefi (bei UEFI installs) installiert sein damit der NVRAM beschreibbar ist oder dies zumindest emuliert wird. Um das Ganze nun zu nutzen öffnen wir uns CloverConfigurator und beantworten die Wahrscheinlich aufploppende Frage ob die EFI Partition gemounted werden soll mit JA. einmal gemounted und die config.plist geöffnet wechseln wir auf den Reiter Rt Variables und geben dort die auf dem Screenshot dargestellten Werte ein
Als nächstes öffnen wir uns ein Terminal und geben mehrfach den Befehl uuidgen ein um eine möglichst einmalige UUID zu bekommen.
Die letzte ID kopieren wir uns nun und wechseln in CloverConfigurator auf den Punkt "System Parameters" und fügen diese in das Feld Custom UUID ein und setzen den Haken bei inject System ID.
Wenn alles erledigt ist speichern wir unsere Änderungen und starten den Rechner neu.Meldet Euch bitte nach dem Reboot nicht direkt an iMessage oder FaceTime an sondern überprüft erstmal ob die Werte auch übernommen wurden. Am einfachsten geht das mit dem iMessageDebug tool aus dem Downloadbereich. Einfach per Doppelklick ausführen es sollte in etwas so aussehen:
passen die Werte mit Euren Eingaben überein meldet Euch an und habt Spaß, passen sie nicht überprüft ob Ihr alle Schritte richtig gemacht habt und arbeitet Euch ggf. noch mal von vorne durch.
Falls Euch die Hintergründe interessieren und Ihr sehen wollt wohin die Reise geht scheut Euch nicht mal den Onkel google nach "Pattern of MLB (Main Logic Board)" zu befragen, Ihr werdet erstaunt sein, was es da alles zu lesen gibt
EDIT 13.12.2014: Besonderheiten für OZMOSIS 894M hinzu gefügt.