ungood20
Üye
SHSH nedir ve önemi ! (Not Since 3gs) (C.A.)
Jailbreak dünyasında sürekli dönen bir aksiyondur SHSH kaydı yaptırmak. Bir iPhoneun, belli bir firmware için SHSH değerlerini yedeklemek, o cihaza gözle görülmeyen bir değer katmaktadır. iPhonePerestin bu özel makalesinde, SHSHın neden bu kadar önemli olduğunu anlatmaya çalışacağız. Umarız, 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 firmwareleri 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 blobunu 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ı Appledan 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 4e 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.
iTunesin Restore İşçiliği
iTunes, cihazınıza bir firmware imajını restore ederken, yukarıdaki denklemin iki bilinenini yani cihaza özel ECIDi 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 blobunu hesaplıyor ve iTunese gönderiyor. iTunes da bu SHSH ile firmwarei 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, firmwarei kabul ediyor.
Buradan hemen şunu anlamalısınız. Başka bir makinenin SHSHı ile sizin iPhoneunuza kurulum yapamazsınız. Her cihaz için bir firmwarei 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 firmwarei 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 SHSHları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 firmwarei kurmamı engeller ki?
İnsan Jailbreak ve Unlock yapılabilen bir firmwarede kalmak isteyebilir. Cihazını uzun süre iPod olarak kullanmak istemeyebilir. Özellikle bir SIM karta kilitlenmiş (carrier locked) iPhonelarda, unlock yapılabilen firmwaree ait SHSH kaydı, cihaz kadar değerlidir. Eğer bu değer yok ise ve cihazı unlock yapılamayan bir firmwaree yükseltirseniz baseband de yükselmiştir (ve hiçbir zaman geri dönmeyeceği için) yeni bir unlocka kadar geçmiş olsun.
Basit bir kural: geçmişteki bir firmwaree SHSH ile dönersiniz. Ama 3GS basebandi geçmiş sürüme dönmez. iTunes hiçbir zaman güncel bir basebandi, 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 basebandi içeren firmwaree dönemiyorsanız yani SHSHınız yok ise, belayı bulmuşsunuz demektir.
SHSH kaydının şu an iki temel yolu var.
Jailbreak sonrası Cydia ile. (make my life easier butonu)
Jailbreaksiz olarak bilgisayar üzerinden TinyUmbrella ile.
SHSH blobunuzu iki yerde saklayabilirsiniz:
Bulutta. Yani Cydianın SHSH on file servisi sunan online sunucularında. (Saklı olan SHSH firmwareleriniz Cydianın en üstünde yeşil renkte yazar.)
Lokal bir dosyada. (TinyUmbrella ile lokalde sahte bir Apple sunucusu çalıştırıp iTunese verirsiniz.)
SHSH kaydetmek, yolda yürümekten güvenlidir. Jailbreaksiz 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. ECIDi bir kere öğrenip, kenara yazarsanız, her yeni firmware yayınlanışında TinyUmbrella ile doğrudan kayıt yapabilirsiniz.
Kayıtlı SHSHı iTunese nasıl gösteririm?
iTunesin SHSHı alması için Apple sunucularıyla muhatap olması gerekir. İşte buradaki en kolay yöntem, Apple sunucularını taklit ederek iTunesi kandırmaktır. Cydianı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 Cydiaya baktırırsanız, iTunes Cydianın sakladığı SHSHları alabilecektir. Cydiada kuracağınız firmware için SHSH yok ise arka planda Appledan kendisi alacak ve zulalayacaktır. Tabi burada Appleın SHSH vermeye devam ettiğini var sayıyoruz. Cydianın kendi zulasında sizin SHSHınız var ise doğrudan verecektir. Cydiada 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.coma gittiğini zannederek lokalden soracak SHSHı.
Jailbreak dünyasında sürekli dönen bir aksiyondur SHSH kaydı yaptırmak. Bir iPhoneun, belli bir firmware için SHSH değerlerini yedeklemek, o cihaza gözle görülmeyen bir değer katmaktadır. iPhonePerestin bu özel makalesinde, SHSHın neden bu kadar önemli olduğunu anlatmaya çalışacağız. Umarız, 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 firmwareleri 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 blobunu 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ı Appledan 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 4e 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.
iTunesin Restore İşçiliği
iTunes, cihazınıza bir firmware imajını restore ederken, yukarıdaki denklemin iki bilinenini yani cihaza özel ECIDi 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 blobunu hesaplıyor ve iTunese gönderiyor. iTunes da bu SHSH ile firmwarei 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, firmwarei kabul ediyor.
Buradan hemen şunu anlamalısınız. Başka bir makinenin SHSHı ile sizin iPhoneunuza kurulum yapamazsınız. Her cihaz için bir firmwarei 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 firmwarei 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 SHSHları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 firmwarei kurmamı engeller ki?
İnsan Jailbreak ve Unlock yapılabilen bir firmwarede kalmak isteyebilir. Cihazını uzun süre iPod olarak kullanmak istemeyebilir. Özellikle bir SIM karta kilitlenmiş (carrier locked) iPhonelarda, unlock yapılabilen firmwaree ait SHSH kaydı, cihaz kadar değerlidir. Eğer bu değer yok ise ve cihazı unlock yapılamayan bir firmwaree yükseltirseniz baseband de yükselmiştir (ve hiçbir zaman geri dönmeyeceği için) yeni bir unlocka kadar geçmiş olsun.
Basit bir kural: geçmişteki bir firmwaree SHSH ile dönersiniz. Ama 3GS basebandi geçmiş sürüme dönmez. iTunes hiçbir zaman güncel bir basebandi, 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 basebandi içeren firmwaree dönemiyorsanız yani SHSHınız yok ise, belayı bulmuşsunuz demektir.
SHSH kaydının şu an iki temel yolu var.
Jailbreak sonrası Cydia ile. (make my life easier butonu)
Jailbreaksiz olarak bilgisayar üzerinden TinyUmbrella ile.
SHSH blobunuzu iki yerde saklayabilirsiniz:
Bulutta. Yani Cydianın SHSH on file servisi sunan online sunucularında. (Saklı olan SHSH firmwareleriniz Cydianın en üstünde yeşil renkte yazar.)
Lokal bir dosyada. (TinyUmbrella ile lokalde sahte bir Apple sunucusu çalıştırıp iTunese verirsiniz.)
SHSH kaydetmek, yolda yürümekten güvenlidir. Jailbreaksiz 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. ECIDi bir kere öğrenip, kenara yazarsanız, her yeni firmware yayınlanışında TinyUmbrella ile doğrudan kayıt yapabilirsiniz.
Kayıtlı SHSHı iTunese nasıl gösteririm?
iTunesin SHSHı alması için Apple sunucularıyla muhatap olması gerekir. İşte buradaki en kolay yöntem, Apple sunucularını taklit ederek iTunesi kandırmaktır. Cydianı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 Cydiaya baktırırsanız, iTunes Cydianın sakladığı SHSHları alabilecektir. Cydiada kuracağınız firmware için SHSH yok ise arka planda Appledan kendisi alacak ve zulalayacaktır. Tabi burada Appleın SHSH vermeye devam ettiğini var sayıyoruz. Cydianın kendi zulasında sizin SHSHınız var ise doğrudan verecektir. Cydiada 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.coma gittiğini zannederek lokalden soracak SHSHı.
