SHSH – Was ist das eigentlich?
Mit jeder neuen Geräte-Generation hat sich Apple wieder etwas einfallen lassen um uns das Leben schwerer zu machen. Eine besonders ärgerliche Methode ist die Überprüfung der FW und damit der indirekte Upgrade-Zwang sollte man wiederherstellen wollen. Dies trifft im Moment auf das iPhone 3GS, den iPod Touch 3G (32/64GB) sowie das iPad zu. Wenn man nicht entsprechende Vorkehrungen getroffen hat, lässt sich nur noch die aktuellste FW einspielen. Da das Thema SHSH immer mehr an Bedeutung gewinnen wird, möchte ich daher an dieser Stelle einmal die wichtigsten Infos zum Thema sammeln.
Was sind SHSH-Blobs und für was brauche ich sie?
Seit dem iPhone 3GS wird jede FW von Apples Signatur-Servern überprüft bevor iTunes das Ok zur Wiederherstellung erhält. Sollte die FW nicht die aktuellste sein, so bricht der Vorgang ab. Während der Wiederherstellung findet zwischen iPhone/iTunes und Apple ein Austausch von Informationen statt. Ein kleiner Teil der zu überspielenden Firmware wird an die Apple-Server gesendet und dort auf Aktualität geprüft. Außerdem wird die ECID eures Gerätes übertragen. Stellt der Apple-Server fest, dass die Firmware in Ordnung (also aktuell) ist, wird die für eure Kombination aus ECID und FW entsprechende SHSH (Hash-Wert der Signierung) an iTunes zurückgesendet und iTunes beginnt mit der Wiederherstellung. Und genau diese SHSH müsst ihr sichern bzw. lasst ihr euch sichern.
Wenn ihr später einmal eine „alte“ FW einspielen wollt, müssen diese SHSH-Blobs verwendet werden um iTunes das OK der Server vorzuspielen. Dafür wird die Anfrage an die Apple-Server umgelenkt. Je nach Methode ist dies entweder der von Saurik betriebene Signatur-Server oder ein von euch lokal aufgesetzter Server. Dieser sendet dann das OK bzw. die SHSH-Blobs und iTunes glaubt, dass alles seine Ordnung hat und führt die Wiederherstellung durch.
Benötige ich zur Sicherung einen Jailbreak?
Nein, um seine SHSH-Blobs zu speichern wird kein Jailbreak vorausgesetzt. Sowohl über Saurik, AutoSHSH als auch über Firmware Umbrella kann man seine SHSH absichern, ohne zuvor einen Jailbreak durchgeführt zu haben.
Ich will eigentlich nicht jailbreaken, soll ich dennoch meine SHSH sichern?
In diesem Fall würde ich auch zu ja tendieren. Denn nur so hat man die Wahl welche Firmware man einspielen will. Sollte Apple aus welchen Gründen auch immer irgendwann mal eine Funktion aus dem Gerät entfernen wollen, die euch aber wichtig ist, könnt ihr somit auf dieser Firmware bleiben. Bei diesem Punkt muss ich sofort an Sony und die Unterstützung von Alternativen Betriebssystemen auf der PS3 denken die durch das letzte FW-Update entfernt wurde. Auch muss nicht jede Firmware eine verbesserung sein und die neuen könnte Fehler haben die bei der alten nicht auftauchen. Auch dieses Problem könntet ihr so umgehen.
Kann ich auch SHSH-Blobs für ältere FWs bekommen?
Nein, das geht nicht. Man kann sich von den Apple-Servern immer nur die SHSH-Files für die aktuelle FW abholen. Ältere Firmwares werden nicht mehr signiert und daher gibt es auch keine SHSHs mehr.
Kann ich SHSH-Files eines Freundes verwenden?
Nein, die Files sind speziell für euer Gerät und hängen u.a. von der jeweiligen FW und ECID ab. Daher bringt euch die SHSH eines Freundes leider nicht weiter.
Wo werden die SHSH-Files gespeichert?
Der Speicherort der SHSH hängt von der Methode ab. Diese können entweder auf dem von Saurik nachgebauten Signatur-Server liegen oder auch lokal bei auch auf dem Rechner. Am besten ist es sicherlich,beide Varianten zu nutzen. So habt ihr im Fall der Fälle immer eine Absicherung.
Kann ich jede iTunes-Version verwenden?
Bei diesem Punkt solltet ihr immer vorsichtig sein und nicht unbedacht updaten. Jede neue Version von iTunes kann die Verwendung der SHSH schwieriger bis unmöglich machen. Bis jetzt scheinen alle Versionen von iTunes 9 zu gehen. Jedoch sollte man vor allem in Hinblick auf den Release von Spirit die Finger von der neuesten iTunes Version lassen und diese erst einspielen, sobald es vom Dev-Team/Comex/chpwn grünes Licht gibt. Empfohlen wird zurzeit die Version 9.0.2. Außerdem gibt es erste Anzeichen dafür, dass Apple in diesem Gebiet aktiver werden könnte und versuchen wird, die „gefakte“ Anfrage zu unterbinden.
Wie groß sind die SHSH-Files eigentlich?
Die SHSH-Files sind nicht besonders groß. Diese dürften sich im Rahmen zwischen 60 und 65 KB befinden.
Welche Methode ist die Beste?
Die Beste gibt es vermutlich nicht. Wer bereits einen Jailbreak hat, für den dürfte Cydia die einfachste Methode sein. Einfach öffnen, auf „Make my life easier“ klicken und schon wird die Sicherung veranlasst. Sobald die SHSH-Blobs bei Saurik auf dem Server liegen, erhaltet ihr in Cydia auch eine entsprechend Rückmeldung. Dabei wird euch auch gleich gesagt, für welche FWs ihr entsprechende SHSH-Files habt.
Wer keinen Jailbreak besitzt, für den dürfte AutoSHSH eine einfach zu bedienende Lösung sein. Das Programm ist selbsterklärend und leitet euch Schritt für Schritt durch die Prozedur. Eine kleine Anleitung dazu findet ihr hier. Mit RC 2 seines Tools, hat ih8snow außerdem die Option eingebaut, die SHSH-Files zusätzlich auf dem Server von Saurik abzulegen. Daher kann ich dieses Tool vor allem Anfängern besonders ans Herz legen.
Auch Umbrella ist ein ähnliches Tool. Dieses sendet eine Anfrage an den Apple TSS Server und erhält eine entsprechende Antwort. Diese wird dann je nach ausgewählter Option lokal und/oder auf Sauriks Server abgelegt. Einen entscheidenden Vorteil bietet euch Umbrella jedoch. Mit diesem Tool könnt ihr zusätzlich eure bereits bei Saurik abgelegten SHSH-Files für frühere Firmware-Versionen abrufen und erhaltet somit eine zusätzliche Sicherheit.
Aktuelle Tools zum Sichern der SHSH
Derzeit (Stand 13.03.2012) gibt es zwei Haupttools welche man zum Sichernd er SHSH verwenden kann und sollte. Diese unterscheiden sich grundlegend voneinander und sichern zudem unterschiedliche SHSH Blobs.
TinyUmbrella – Aktuelle SHSH Blobs sichern
TinyUmbrella ist ein auf Java basiertes Tool, welches die aktuell verfügbaren SHSH Blobs für euer Gerät abfragt. Dabei verwendet es die Daten eures gerätes und stellt eine entsprechende Anfrage an die Server von Apple. Diese senden die SHSH Blobs zurück und TinyUmbrella sichert diese dann lokal auf eurem Rechner. Zusätzlich kann TinyUmbrella auch noch die SHSH Blobs von Cydia sichern und lokal ablegen. Diese Methode eignet sich daher immer nur zum Sichern aktueller Firmware/SHSH Kombinationen. Ältere SHSH Blobs kann man damit jedoch nicht sichern.
iFaith – SHSH Blobs vom Gerät sichern
iFaith geht einen anderen Weg und holt sich die SHSH Blobs nicht von Apple. Stattdessen kopiert iFaith die auf eurem Gerät vorhandenen SHSH Blobs und speichert sie lokal ab. Mit dieser Methode kann man also auch die SHSH von 4.3.3. bekommen, sollte sich die entsprechende Firmware noch auf eurem Gerät befinden. Somit kann man sich die Blobs auch noch holen, wenn das Signatur-Fenster seitens Apple bereits geschlossen ist.
iPhone 4S, iPad 2 und iPad 3 – Besonderheiten zum Thema SHSH
Bei den modernen Devices mit einem A5 Prozessor hat Apple die Signatur-Überprüfung geändert. Bei diesen Geräten ist derzeit ein Downgrade nicht möglich. Dennoch sollte man auch mit iPhone 4S und iPad 2/3 seine SHSH sichern. Die unterschiedlichen Entwicklerteams arbeiten an einer Lösung, um die entsprechenden Schutzmechanismen zu umgehen. Dies liegt vor allem daran, dass der Limera1n Exploit mit der Bootrom Version 838.3 geschlossen wurde und auch iOS 5 zusätzlich eine „Nonce“ in die SHSH Hashes integriert. Damit kann man nicht mehr auf eine Firmware unter iOS 5.x zurückgehen. An dieser Situation wird sich auch nichts ändern, solange keien Bootrom oder LLB Exploits gefunden werden.
Solltet ihr noch Fragen haben, so stellt sie einfach in den Kommentaren. Wenn ich einen wichtigen Punkt vergessen habe, von dem ihr denkt, er sollte unbedingt aufgenommen werden, so teilt mir dies bitte ebenfalls mit. Außerdem werde ich versuchen in den nächsten Tagen noch entsprechende Anleitungen zu den Tools zu verfassen.
Error thrown
Call to undefined function ereg()