Kaum ein Thema ist in unserem und anderen Hackintosh-Foren in den letzten Wochen so heftig diskutiert worden wie der Versuch, den Apple-Dienst iMessage/Nachrichten auf unsere Rechner zu bringen. Und die Stufen, in denen Apple das weitgehend verhindert (hat), (Nachträge und Korrekturen von Ende April in BLAU).
Nachdem der Dienst über Jahre mehr lustlos und ohne besondere Beachtung sowohl unter Macs als auch auf Hackintosh-Rechnern eben einfach so mit lief (oder auch nicht lief..), ist er mit der Einführung von OS X Yosemite und iOS 8 zu einer gemeinsamen SMS & Mitteilungszentrale für Rechner, iPads und iPhones geworden und wurde mit einem Mal wirklich interessant. Relativ fix kamen wir dahinter, dass wir jetzt außer den bekannten Werten für iTunes, der Netzwerk-Adresse von en0 und der Seriennummer, auch andere Hardware-Zahlen brauchten, im Apple-System MLB (Main Logic Board) und ROM genannt.
Als MLB-Wert nimmt Apple die Serien-Nummer des Motherboards. Die findet man bei Apple-Rechnern dann auch irgendwo dort auf dem Board zusammen mit dem Herstellungsort.
Der ROM-Wert entspricht zu einem großen Teil der Netzwerk-Adresse des ersten Firewire-Anschlusses fw0, von den dort 16 Zahlen und Buchstaben werden einfach die vier mittleren weg gelassen. Bei älteren Mac-Rechnern steht diese Nummer zusammen mit der Rechner-Serien-Nummer auf einem kleinen Aufkleber auf dem Gehäuse auf der Rück-, Innenklappen- oder Unterseite.
Diese Werte können bei normalen fest konfigurierten Rechnern direkt zur eindeutigen Identifikation genutzt werden, sie waren aber bisher für Hackintosh-Rechner ohne Bedeutung. Auch jede Netzwerk- oder Wlan-Karte, egal ob fest ins Board integriert oder als PCI-E-Karte, hat solche eindeutigen und zugewiesenen MAC-Adressen.
Nur hat leider FakeSMC an all unsere Rechner die gleiche Board-Serial verteilt (zu bewundern in den System-Informationen der MacPro-Typen als Seriennummer (Prozessormodul): C021… ), wir haben sie ja auch nicht wirklich gebraucht. Wir brauchten einen Hackintosh mit selbst erstellten einzigartigen Serien- und UUID-Nummern, 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).
Mit Yosemite (bei den älteren Systemen ab Mitte Dezember auch..) reichten dann diese generierten Adressen unserer Selbstbau-Rechner nicht mehr aus, wir brauch(t)en diese beiden Nummern von Original-Macs, einfach ausgelesen mit iMessageDebug2. Aber das ist inzwischen auch schon wieder Geschichte. Seit März müssen die Nummern nicht mehr von einem Original stammen, sondern nur noch der Logik eines Originals entsprechen. Also kann man sich die Nummern mit Clover Configurator, Chameleon Wizzard oder HackMac selbst generieren lassen.
In Clover mit dem Configurator kein großes Problem: die Nummern, ob selbst gemacht oder die eines Macs in die Felder ROM und MLB auf der Seite der Rt-Variables eingegeben und los gehts.
Auch beim OZMOSIS-BIOS brauchte man zu den Zahlen nur die richtige Adresse auf dem NV-Ram zu kennen und eintragen. Aber da kam schon der erste Haken: OZMOSIS braucht eine 17-stellige MLB-Nummer, die meisten Mac-Rechner der Generation vor den Intel-i-Prozessoren haben aber nur eine 13-stellige Board-Nummer, die OZMOSIS selbstständig auf 17 Stellen auffüllt. Da aber nur gültige Nummern-Paare den Zutritt erlauben, ist hier für viele Rechner dann Schluss.
Die Nutzer von Chameleon und Chimera scheiterten dann spätestens an der dritten notwendigen Nummer, die noch an Apple gesendet werden muss, die System-ID.
Die kann auch ohne Probleme aus der Hardware-UUID berechnet werden. Das erledigt problemlos der Clover Configurator, diese Nummer hat eigentlich jeder Rechner mit 64-Bit-Mac-System. Selbst, wenn es kein Problem ist, diese zu generieren, sie wird bei der iMessage-Abfrage aus dem NV-Ram an Apple übertragen und dort stand sie bisher halt bei Chameleon nicht, deshalb waren hier die Chameleon-Rechner raus und mit Rechnern, die aus irgend einem Grund Chimera verwenden müssen, ist das bist heute noch nicht anders! So kam mit ganz wenigen im Netz verbreiteten Nummern-Paaren zu einem kurzfristigen Clover-Boom.
Bis kurz vor Weihnachten war es nun möglich, mit einem Paar aus ROM und MLB beliebig viele Rechner mit ihren eigenen System-IDs bei Apple anzumelden.
Das wurde dann auf den einen Wert des Rechners reduziert, der zur richtigen Zeit gerade im Netz angemeldet war und noch ein paar Tage später dann auf den System-ID-Wert zurück gesetzt, der als erster angemeldet gewesen ist.
Nun also zum aktuellen Stand:
iMessages im Hackintosh geht! (aber nicht überall)
Was braucht man für iMessages?
Immer: Einen eigenen Mac mit Hardware-seitigem Zugang zu iMessages, also einer, der fähig ist, mit Yosemite ooB zu laufen, mit einer Installation von mindestens 10.8.3 MountainLion, besser Mavericks oder noch neuer.
Das Protokoll-Programm iMessage Debug2 zum Auslesen der Daten, erst am Original-Mac, später am Eigenbau.
Einen Hackintosh mit selbst erstellten einzigartigen Seriennummern, erstellt entweder im Clover Configurator auf der Seite SmBIOS, mit dem Zauberstab ganz rechts das passende Modell auswählen und dann mit Herstellungsdatum und Zusatzzahl die Nummern auswürfeln,
alternativ natürlich auch mit dem Chameleon Wizard oder mit dem noch in der Alpha-Phase befindlichen Apple MAC Hack
Bei OZMOSIS 1479: nur noch die Adresse im NVRam, wo die selbst generierten oder am Mac ausgelesenen Werte eingetragen werden.
Wobei hier nach dem = - Zeichen die eigenen Werte eigetragen werden müssen. Diese hier dienen nur als (abgelaufenes) Beispiel:
Man braucht ein : -Zeichen zwischen den Zahlen/Buchstaben-Paaren des ROM-Wertes bei der Eingabe)
Und dann natürlich noch den dritten Wert, den wir an Apple übertragen (müssen), die Serien-ID:
Leider muss man hier wie in Clover die Werte vertauschen (gleiche Basis..), dafür reicht es, die System-ID als Hardware-UUID einzutragen, die richtige UUID ändert sich dann auch beim nächsten Start.
Bei Clover: Den Clover Configurator, um die Werte zu berechnen und in die Clover config.plist einzutragen.
ROM und MLB werden wie gehabt einfach aus den abgelesenen Daten des Mac übertragen, SmUUID und Custom-UUID müssen aus irgend einem Grund hier aber vertauscht eingetragen werden, also die auch im Mac-Systembericht/Hardware sichtbare Hardware-UUID kommt auf die SMBIOS-Seite unter SmUUID,
der Wert System-ID aus dem Debug-Protokoll wird bei System Parameters unter Custom UUID eingetragen und ganz rechts der Haken bei "Inject System ID" gesetzt. Das ganze dann natürlich wie üblich als Config.PList speichern und im Ordner EFI/CLOVER die alte Liste ersetzen.
Bei Chameleon: Brauchen wir komplett generierte System-Zahlen und wie unten im Nachtrag Januar beschrieben die Chameleon-Version 2.3svn und das NVRam-Paket zZt leider einen originalen Mac-Rechner, den noch bei keinem Apple-i-Service angemeldet war!
Mit etwas Glück geht auch das..
Ab Version 2.3 können MLB- und ROM-Werte eingegeben werden (Siehe beim Januar-Nachtrag). ...
Bei der Chameleon-Installation wird eine NVRAM-Simulation erstellt aus dem Modul FileNVRAM.dylib im Ordner Extra/modules und dem Kext FileNVRAM.kext in System/Library/Extentions.
Anschließend erfolgt eine Eingabe in Terminal, ähnlich wie unter Ozmosis:
Man braucht ein % -Zeichen vor jedem Zahlen/Buchstaben-Paar des ROM-Wertes bei der Eingabe, wie: %nn%nn%nn%nn%nn%nn). Ich hab hier mal die gleichen abgelaufenen Beispiel-Werte genommen wie bei Ozmosis.
Wie geht es nun weiter?
Woher die ROM-Werte kommen, ist ja schon lange klar und die stehen ja auch auf den älteren Rechnern, wie oben beschrieben. Die 13-Stelligen MLBs sind inzwischen weitgehend entziffert: 2xHerstellungsort, 1xJahr, 2xWoche, 4xProdNr, 4x exakteModel-ID, alle bezogen auf das Motherboard.
Bei den gerade auch für OZMOSIS-1479 notwendigen 17-stelligen Werten fehlt leider noch ein großer Teil, die Datenbasis ist einfach zu klein. Für die Erweiterung dieses Wissens fehlen einfach noch ausreichend Werte von echten Macs.
ROM und MLB bilden sozusagen das Tor, durch dass der Rechner mit seiner als UUID generierten System-ID zum i-Portal eintreten kann, bis Dezember beliebig viele IDs, jetzt geht nur noch eine durch. Da auch in der MLB die Hardware genau beschrieben ist, sind hier weitere Verknüpfungen durch Appe denkbar, aber natürlich aufwendig. Da auch sehr viele echte Macs hier durch die Prüfung gefallen sind, vergibt Apple seit März einen Token für jeden User als zweite Autentifikation, in dem Festplatte, Rechner und UUID eingebaut werden. Es ist so zwar deutlich einfacher geworden, sich bei Apple in den Diensten zu registrieren, aber dafür kann man nicht mehr mal eben mit der Festplatte aus einem anderen Rechner ins iMessage-Netz. Oft bekommt man trotz komplett korrekter Zahlen die Mitteilung, dass man den Apple-Support kontakten soll. Da ist dann meist aus irgendeinem Grund das Erstellen des Tokens schief gelaufen. Wenn die Zahlen im iMessageDebug stimmen, braucht man sich vor dieser viertel Stunde auch nicht fürchten. Sind ja Zahlen wie an einem echten Mac..
Das erste Werkzeug zur kompletten ID-Zahlen-Generierung, Apple MAC Hack, ist noch in frühem Alpha-Stadium, tut aber seine Arbeit.
Die zur Zeit schnellste und einfachste Möglichkeit, iMessages auf den Hackintosh zu bringen, ist das Eintragen dieser Werte, ob selbst generiert oder von einem Original-Mac, in eine Clover - config.plist. Da spielt die Länge der MLB auch keine Rolle. Wenn weiter so viele Leute jetzt auf Clover setzen, sind die Bugs da sicher auch bald raus. Nicht jeder hat zu Hause einen alten MacPro, Mini oder iMac rum stehen, also sind viele User darauf angewiesen, dass es bald wieder künstliche Werte gibt, die das Apple-Tor öffnen, so wie schon seit Jahren die künstlichen Serien-Nummern dafür sorgen, dass wir mit iTunes arbeiten können.
Wir wollen ja nichts klauen, wir wollen nur unsere Software normal nutzen. Es gibt zur Zeit 44 verschiedene Online-Dienste von Apple, bei den meisten gibt es irgendeine Art von Identifikation. Also Vorsicht, Leute! Lieber die Nummern zwei, drei Mal vor der ersten Benutzung überprüfen, als gesperrt zu werden!
Ist alles erledigt macht iIhr am Besten einen NVRAM-reset mit cmd+alt+P+R. Dann 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 Tool iMessageDebug2, da stehen dann alle wichtigen Werte drin.
Werkzeuge
iMessageDebug2
Clover Configurator
Chameleon Wizard
NVRam für Chameleon
MAC-Generator-Tool
Zusätzliche Links
SmBIOS
Beschreibung Clover Configurator
iMessage, Griven's Thread 1und die ganze Unterhaltung
Dank geht für die Arbeit an iMessage an Meklort & SJ_Underwater für das neue modifizierte FileNVRAM, jaymonkey, holyfield, Griven, MacGrummel und die breite Hackintosh-Comunity für viel Test-und Programmier-Arbeit und die Entwickler von iMessageDebug und an die Entwickler von Apple Mac Hack
Nachtrag Ende Januar
Apple ist wohl dabei, die Regeln für iMessage erneut zu ändern: viele Rechner haben aktiv einen neuen Anmelde-Token zugewiesen bekommen, zusammen mit der Meldung von Apple: Ihre Apple-ID (MacGrummel@ xyz .com) wurde verwendet, um sich auf einem Mac xy mit dem Namen „Grummels Mac xy“ bei FaceTime und iMessage anzumelden. Wenn Ihnen die oben aufgeführten Informationen bekannt vorkommen, können Sie diese E-Mail ignorieren....
Interessant dabei ist, dass diese Meldungen bislang nur für die Rechner raus gingen, die geclonte Nummern verwenden, nicht aber bei den Originalen. Wie oben erklärt sind die MLB-Nummern ja auch nichts weiter als codierte Herkunfts- und Serien-Nummern. Also heisst es dann halt für die Zukunft, dass die MLB-Nummer und die Serien-Nummer des angemeldeten neuen Rechners auf längere Sicht möglichst in einem ähnlichen Zusammenhang zueinander stehen sollten wie beim Original. Wenn die MLB von einem iMac von 2013 aus Cork/Irland stammt, sollte der neue Rechner auch als 2013er iMac aus Irland angemeldet sein, das Fertigungsdatum vielleicht ein, zwei Wochen nach hinten geschoben. Das ist die sicherste Variante, über die sich Apple (voraussichtlich) auch die nächsten Monate nicht beschweren wird..
Mit OZMOSIS 894m sind wir leider noch nicht weiter gekommen, die Werte eines Original-Macs lassen sich hier leider nicht dauerhaft übernehmen, aber darauf sind wir ja auch nicht mehr angewiesen, wenn die Logik im Gesamtsystem stimmt. Feste ROM-Werte werden hier über eine veränderte PlatformUUID eingegeben.Da diese aber direkt mit der System-ID zusammen hängt, stimmen dann die Werte eben nicht mit dem Original überein.
Dafür gibt es Neuigkeiten bei Chameleon: In einem neu erstellten System lassen sich die System-ID und die Hardware-UUID über die org.chameleon.Boot.plist im Extra-Ordner eintragen und tatsächlich auch auslesen:
In meinem Archiv hab ich auch den Eintrag der Hardware-UUID in der SMBios.PList gefunden, auch das hat bei neuem System funktioniert:
(Ich hab hier mal die gleichen abgelaufenen Beispiel-Werte genommen wie bei Ozmosis..)
Jetzt muss man nur noch das neue FileNVRAM.dylib im Ordner Extra/modules und den FileNVRAM.Kext in System/Library/Extentions plazieren, alle versteckten Files namens nvram.plist löschen und erhält nach dem Neustart eine beschreibbare NVRam-Simulation im Extra-Ordner. Da werden dann ROM- und MLB-Werte wie oben rein geschrieben und bleiben da auch. Und wenn alles klappt, sieht der Auszug vom iMessageDebugger2 genauso aus, wie beim Original..
Bei mit hat das allerdings nur bei zwei von fünf Versuchen geklappt! Bei den anderen Rechnernwerden die Werte aus nicht erkennbaren Gründen nicht dauerhaft gespeichert und müssen vor jedem iMessage-Start neu eingegeben werden. Clover ist halt doch ne echte Alternative..