Re: [越獄] iOS 10.1.1 JB現況&SHSH2備份

作者: iPluto (鍵盤Apple Genius)   2016-12-20 08:23:36
好久沒有降級這件事情了XD
在古老時代,Apple會把裝置晶片碼(ECID)以及你想要刷的iOS版本拿去簽名,生成所謂
的SHSH,有了這個iTunes才會願意幫你刷iOS。簽名是一種單向函數,只要給一樣的input
就會生成同樣的output,故有人存下SHSH等到Apple不簽了把該SHSH餵給iTunes欺騙它是
Apple簽的,達到刷非最新版本的目的。
後來Apple學聰明了,在input那邊加了個隨機產生的資料,也就是nonce。這樣一來備份
下來的SHSH就不能用了,因為你每次產生的nonce不同,生成的SHSH也會不同。你如果
要使用備份好的SHSH,那必須要你的裝置隨機產生的nonce跟你當初備份時的一樣才行。
理論上這樣應該是完全不用想要降級了,那最近是在說什麼呢?
稍微看了一下tihmstar的blog:https://tihmstar.blogspot.de/
狀況應該是這樣:
1. 如果有JB,tihmstar有辦法讓你的裝置產生特定的nonce。這就是為什麼備份SHSH2的
板友們可能會看到六個資料夾,其中五個有一串像亂碼的東西。那串亂碼就是nonce,
那個資料夾裡的SHSH就是針對該nonce去簽名出來的。至於為什麼需要備份這五個特定
的nonce呢?作者本來說要等Prometheus釋出再說明,但是從他的其他回答可以猜測
他是要去改亂數產生器(所以需要已經JB的裝置),那估計他修改完產生的nonce應該是
只有 或 很可能是 這五個。
2. 如果沒有JB,tihmstar之前有在研究nonce collision,也就是不斷重開機,裝置有
機會產生一樣的nonce。他甚至寫了以下的tool讓使用者統計自己的裝置在不斷重新開機
的狀況下有多少機率會產生一樣的nonce,最常產生的nonce又是哪幾個:
https://github.com/tihmstar/noncestatistics
假設裝置有不是太低的機率產生出一樣的某個nonce,那就可以針對該nonce備份SHSH2,
然後想要刷機時就不斷重開機直到隨機產生的nonce又出現一樣的,就可以刷了(倒)
不過從他的統計:https://ghostbin.com/paste/6k62b
有些裝置怎麼樣就是不會collide啊....
如果以上兩點猜測沒錯的話,其實Prometheus的限制相當大,因為你的裝置需要是下列
兩者之一:
1. 已經JB,且該JB有enable tfp0或類似東西,才可以修改亂數產生器。以iOS9來說,
9.1那個有,9.3用Luca那個JailbreakMe的有,9.0的盤古沒有,而且根據i0n1c:
https://twitter.com/i0n1c/status/810780811800801280 (tihmstar有retweet)
9.0盤古的看來要加上tfp0也很難...
2. 你的裝置每次重開機產生的隨機nonce要有重複性,而且你有備份到該nonce相關的
SHSH2。重複的原因目前不明,只是看起來越新的裝置越不容易重複(6S根本不會啊...)
估計是舊裝置的亂數產生器用的seed比較差所以不夠"亂"吧...
那如果到目前為止都沒有錯,那可以進一步得到以下結論:
1. 在iOS 9.1那版盤古JB且有照板上方法備份SHSH2,應該未來可以用Prometheus
2. 在iOS 9.3那版Luca JailbreakMe JB,且有照版上方法備份SHSH2,同上
3. 在iOS 9.3那版但是用的是盤古JB,好像可以重開機回到未JB直接服用Luca JB,
然後同2
4. 在iOS 9.0那版盤古JB,或者其他任意iOS然後根本沒有JB,基本上可以去跑跑
noncestatistics 看看你的裝置會不會產生重複nonce,然後針對該nonce備份SHSH2,
如果幾乎不重複那就只能看別人玩Prometheus了...
5. 承上,有鑑於第四點的裝置無法在Apple關掉10.1.1簽名的時候用Prometheus刷10.1.1
然後又已知之後Luca的JB只能用在10.1.1 (10.2已經patch掉該漏洞了),那想要嘗試
10.1.1 JB勢必要趁Apple來在簽時刷上10.1.1,只是這樣就要入獄等Luca了...
對沒有JB的人來說還好,對9.0 JB的人要考慮清楚XD
以上是個人心得,有錯還請指正。
作者: Crazying (不要了)   2016-12-20 08:40:00
9.0 + 6s+ QQ 不過也只有需要 ios10 的whoscall功能而已
作者: slent67 (史蘭特67)   2016-12-20 08:46:00
作者: giantwinter   2016-12-20 09:18:00
對到重複的nonce也太難
作者: ditm (ditm)   2016-12-20 09:35:00
感謝用心的心得分享
作者: niceboy (xyz)   2016-12-20 09:54:00
簡單說,不管怎樣,先備份 SHSH2, 對吧?
作者: ad ( )   2016-12-20 10:03:00
看來要先升到10.1.1比較安全 不然關掉後不一定可刷10.1.1
作者: iPluto (鍵盤Apple Genius)   2016-12-20 10:06:00
備份是沒有什麼缺點,最多就是備份的東西不能用而已
作者: ad ( )   2016-12-20 10:10:00
先升級到10.1.1應該比較穩 對吧?到時候10.1.1越獄後就隨意升降
作者: iPluto (鍵盤Apple Genius)   2016-12-20 10:13:00
理論上,可是越獄還沒出降級tool還沒出誰知道呢...
作者: adorekobe8 (小K)   2016-12-20 10:32:00
好猶豫
作者: wacow999   2016-12-20 10:37:00
不太懂 意思是6s 9.0.2可能是備份心酸的嗎QQ
作者: smallopen2k (秋風落葉)   2016-12-20 10:43:00
感謝分享,剛剛看完就立馬把6s升級到10.1.1了
作者: iPluto (鍵盤Apple Genius)   2016-12-20 10:48:00
9.0.2 6S的確可能是備身體健康的...
作者: arrest ([C4] 我是二哥)   2016-12-20 12:30:00
7先降回10.1.1好了
作者: max025 (max025)   2016-12-20 13:17:00
阿鬼你還是說中文吧
作者: tmpss88109 (竹中BBOY)   2016-12-20 13:27:00
看起來我的SE 9.3.4也要先升上10.1.1了齁
作者: alanhwung (Alan)   2016-12-20 14:07:00
所以6s 9.0.2要升級賭一波的意思嗎QQ
作者: Jmoe (Rin0moe)   2016-12-20 14:26:00
明白了,感謝分享~~
作者: iPluto (鍵盤Apple Genius)   2016-12-20 14:45:00
也可以龜在9.0....反正也沒什麼不好(自我安慰)或者期待有人搞出讓9.0可以用tool的方法...
作者: shenyang (身癢抓抓)   2016-12-20 15:09:00
昨天備份好140B150的SHSH2了 啊之後要怎麽使用啊?
作者: iPluto (鍵盤Apple Genius)   2016-12-20 15:31:00
等12/31 tool釋出應該會有說明
作者: TFreeman (Freeman)   2016-12-21 07:26:00
推詳細講解~
作者: sky771125 (Henry)   2016-12-21 09:58:00
推好文!另外想問ios8也可以嗎QQ
作者: Gabriel819 (小賀)   2016-12-21 10:02:00
Ios 10.1 for device iPhone7,2 being signed 這個訊息 請問我是備份到10.1嗎?
作者: iPluto (鍵盤Apple Genius)   2016-12-21 10:52:00
樓上是的
作者: bennylu1212 (bennylu1212)   2016-12-21 15:35:00
6s9.02 路過
作者: iPluto (鍵盤Apple Genius)   2016-12-21 16:43:00
昨天試著用6S跑了2000個nonce都不會collide...
作者: prn258 (RepRon)   2016-12-22 00:13:00
請問noncestatistics 怎麼使用阿~?

Links booklink

Contact Us: admin [ a t ] ucptt.com