PDA

Orijinalini görmek için tıklayınız : IPhone shsh Genel Aciklama



Egeliboss
22-09-2010, 22:12
Jailbreak dünyasında sürekli dönen bir aksiyondur “SHSH kaydı yaptırmak”. Bir iPhone’un, belli bir firmware için SHSH değerlerini yedeklemek, o cihaza gözle görülmeyen bir değer katmaktadır. iPhonePerest’in bu özel makalesinde, SHSH‘ın neden bu kadar önemli olduğunu anlatmaya çalışacağım. Umarım, iPhone kullanıcılarına yardımı olur.
Her şey 3GS ile başladı
iPhone 3GS, jailbreak tehditine(!) karşı yeni bir önlemle geldi. Cihazın içindeki donanımsal kriptolama motoru (AES engine) yüklenecek firmware’leri denetlemek için kullanılmaya başlandı. Kriptolamada kullanılan değerlerden birisi cihazın çip numarası, yani ECID. Diğeri cihazın kendine özgü kriptolama anahtarı. Ve sonuncu değer de cihaza yüklenecek firmware versiyonu. Bunların birleşimi bize SHSH blob’unu veriyor.
SHSH = ECID + Cihaza özel anahtar (?) + Firmware Versiyonu
Bu denklemde bizim bilemediğimiz tek değer, “cihaza özel anahtar”. Bu anahtar değer, dünya üzerinde iki yerde: bir Apple sunucularında ve bir de cihazınızda bulunuyor. Cihazın üzerinden elde etmesi çok güç olduğu için bu değeri “bilinmeyen” olarak niteliyoruz.
Sırf bu bilinmeyen değer nedeniyle, SHSH değerini kendi başımıza elde edemiyoruz. İlla ki SHSH’ı Apple‘dan almamız lazım.
Peki Apple ne yapıyor? Apple sunucuları, SHSH değerini sadece güncel firmware için oluşturuyor. Şu dakika itibariyle Apple imzalama sunucuları tüm iPhone cihazları için sadece iOS 4‘e ait SHSH dağıtıyor. Eğer iTunes ile iPhone OS 3.1.3 yüklemeye kalkarsanız, Apple sizi reddedecektir. Çünkü uygun SHSH artık dağıtılmamaktadır.
iTunes’in Restore İşçiliği
iTunes, cihazınıza bir firmware imajını “restore” ederken, yukarıdaki denklemin iki bilinenini yani cihaza özel ECID‘i ve firmware versiyonunu Apple sunucularına gönderiyor. Eğer Apple, firmware versiyonunu beğendiyse, yani güncelse, hemen o iPhone cihazı için özel SHSH blob’unu hesaplıyor ve iTunes’e gönderiyor. iTunes da bu SHSH ile firmware’i cihaza kurmaya çalışıyor.
Her şey burada bitmiyor tabi. iPhone gelen SHSH değerini bir de kendisi denetliyor. İçini açıyor, denklemin parçalarını denetliyor. Eğer her şey normalse, firmware’i kabul ediyor.
Buradan hemen şunu anlamalısınız. Başka bir makinenin SHSH‘ı ile sizin iPhone’unuza kurulum yapamazsınız. Her cihaz için bir firmware’i kurabilen benzersiz bir SHSH değeri vardır ve cihaz bu değeri beklemektedir.
Gel de bu SHSH’ı Saklama!
Eğer uyanıksanız, Apple size güncel firmware için SHSH’ı verirken, bu bilgiyi saklamalısınız. Apple, sizi hep güncel firmware kurmaya zorlarken neden geçmişteki bir firmware’i kurmayasınız? Neden bu özgürlüğü tepesiniz?
iPhone kullanıcısının, elindeki cihaza ait dünya gözüyle gördüğü her firmware için SHSH değerini saklaması, önemli bir vatandaşlık görevidir. Düşünün, bu cihazı daha sonra birisine verdiğinizde, o da bu nimetten faydalanabilecektir. Siz böyle bir cihazı alıp SHSH’larını kayıtlı gördüğünüzde ne çok sevinirsiniz bir düşünün!
Neden Geriye Döneyim ki?
Umarım böyle söyleyen yoktur aramızda. Bu sorunun cevabı yine bir sorudur: Neden Apple benim istediğim firmware’i kurmamı engeller ki?
İnsan Jailbreak ve Unlock yapılabilen bir firmware’de kalmak isteyebilir. Cihazını uzun süre iPod olarak kullanmak istemeyebilir. Özellikle bir SIM karta kilitlenmiş (carrier locked) iPhone’larda, unlock yapılabilen firmware’e ait SHSH kaydı, cihaz kadar değerlidir. Eğer bu değer yok ise ve cihazı unlock yapılamayan bir firmware’e yükseltirseniz baseband de yükselmiştir (ve hiçbir zaman geri dönmeyeceği için) yeni bir unlock’a kadar geçmiş olsun.
Basit bir kural: geçmişteki bir firmware’e SHSH ile dönersiniz. Ama 3GS baseband’i geçmiş sürüme dönmez. iTunes hiçbir zaman güncel bir baseband’i, eskisiyle değiştiremez. Ancak eskisini paşa paşa günceller. SHSH’ın baseband ile ilişkisi de firmware üzerindendir. Eğer, güncel firmware baseband yükseltiyorsa (OS 3.1.3 gibi) ve siz de önceki baseband’i içeren firmware’e dönemiyorsanız yani SHSH‘ınız yok ise, belayı bulmuşsunuz demektir.
SHSH kaydetmek nasıl oluyor? Güvenli mi? Cihazıma bir şey olur mu?
SHSH kaydının şu an iki temel yolu var.
1. Jailbreak sonrası Cydia ile. (“make my life easier” butonu).Formumuzda genel aciklamasi var...http://www.sanalforum.biz/diger-markalar/89956-iphone-shsh-kaydi-nasil-yapilir.html
2. Jailbreak’siz olarak bilgisayar üzerinden TinyUmbrella ile.
The Firmware Umbrella: TinyTSS -- All your iphone restores are belong to you (http://thefirmwareumbrella.blogspot.c om/2009/09/tinytss-all-your-iphone-restores-are.html)
SHSH blob’unuzu iki yerde saklayabilirsiniz:
1. Bulutta. Yani Cydia’nın “SHSH on file” servisi sunan online sunucularında. (Saklı olan SHSH firmware’leriniz Cydia‘nın en üstünde yeşil renkte yazar.)
2. Lokal bir dosyada. (TinyUmbrella ile lokalde sahte bir Apple sunucusu çalıştırıp iTunes‘e verirsiniz.)
SHSH kaydetmek, yolda yürümekten güvenlidir. Jailbreak’siz yöntemde de cihazınıza bir şey yüklemeden, sırf kabloyu bağlayarak (device detection modu) yaparsınız. Eğer onu da istemezseniz, cihazınızın ECID‘ı bile bu iş için yeter. ECID‘i bir kere öğrenip, kenara yazarsanız, her yeni firmware yayınlanışında TinyUmbrella ile doğrudan kayıt yapabilirsiniz.
Kayıtlı SHSH’ı iTunes’e nasıl gösteririm?
iTunes’in SHSH‘ı alması için Apple sunucularıyla muhatap olması gerekir. İşte buradaki en kolay yöntem, Apple sunucularını taklit ederek iTunes‘i kandırmaktır. Cydia’nın sunucuları, Apple sunucuları gibi 7/24 ayakta ve dünyaya zulalanmış SHSH sunmaktadır. Makinenizin DNS ayarlarından (hosts dosyasından) gs.apple.com sunucusunu Cydia‘ya baktırırsanız, iTunes Cydia’nın sakladığı SHSH’ları alabilecektir. Cydia‘da kuracağınız firmware için SHSH yok ise arka planda Apple’dan kendisi alacak ve zulalayacaktır. Tabi burada Apple’ın SHSH vermeye devam ettiğini var sayıyoruz. Cydia’nın kendi zulasında sizin SHSH’ınız var ise doğrudan verecektir. Cydia’da SHSH’ınız yok ve Apple da vermiyor ise, “neylesin Mahmut” misâli eliniz boş kalacaktır.
Eğer TinyUmbrella ile lokale yedeklemişseniz, kendisi aynı zamanda bir gs.apple.com taklidi yapabildiği için hosts dosyanıza 127.0.0.1 numarası çekeceksiniz. iTunes bu sefer gs.apple.com‘a gittiğini zannederek lokalden soracak SHSH’ı.
Hâsılı…Umarım, SHSH ile ilgili soru işaretlerini giderebilmiş, önemini anlatabilmişimdir. Bizi anlayan her kim varsa, SHSH’ını hem lokale hem de Cydia sunucularına kaydetsin ve cihazın değerini artırsın.