Gestern hatte ich ein paar Drinks intus und beschloss, meinem iPhone einen Code zu verpassen, nur für den Fall, dass keiner darin herumschnüffelt (dumme Paranoia)… Also habe ich den Code eingerichtet, in den Einstellungen zweimal eingetippt, auf die Zahl gesetzt, die ich zu tippen glaubte, und dann das Telefon gesperrt (Power-/Standby-Taste). Als ich es entsperren wollte, stellte sich heraus, dass ich es irgendwie geschafft hatte, zweimal eine Zahl einzutippen, die nicht die gewünschte war. Den Rest der Nacht habe ich also versucht herauszufinden, welche Zahl es war, aber ohne Erfolg.
Jetzt, mit nüchternerem Kopf, habe ich einen Weg gefunden, die Code-Sperre zu entfernen (allerdings zusammen mit allen anderen Passwörtern auf dem Telefon).
Die Schritte sind folgende:
- Auf das Dateisystem des Telefons zugreifen (unter Linux ist das einfach – schau dir http://marcansoft.com/blog/2009/10/iphone-syncing-on-linux-part-2/ an, wie man auf das iPod-Dateisystem zugreift – beim iPhone und iPod touch funktioniert es genauso).
- Dann zu /private/var/Keychains wechseln
- Die Datei keychain-2.db an einen anderen Ort verschieben, z. B. nach /
- Dann zu /var/mobile/Library/Preferences/ wechseln
- Die Datei com.apple.springboard.plist an einen anderen Ort verschieben, z. B. nach /
- Danach musst du SpringBoard beenden (killall SpringBoard, wenn du per SSH drin bist) oder einfach das Telefon neu starten.
Voilà, das war’s.
Der Nebeneffekt dieser Aktion: Du verlierst alle Passwörter für Mail-Konten und Exchange-Konten sowie die Anordnung der Icons auf dem SpringBoard, aber dafür musst du das Telefon nicht neu flashen 🙂