新西兰天维网社区

标题: 备份苹果固件验证文件SHSH的问题解答,现在想备份的不要瞎折腾了(更新) [打印本页]

作者: 手机维修    时间: 2010-5-19 17:13:27     标题: 备份苹果固件验证文件SHSH的问题解答,现在想备份的不要瞎折腾了(更新)

述:提取ECID
图片:
描述:提取SHSH
图片:

再次说明:严格的说,不是备份SHSH,是你让Cydia替你去苹果取来SHSH保存.

SHSH,只有苹果的服务器里面有,别的任何人任何地方都没有,你的iPhone里面没有(!!!!!!),Cydia也没有.

Cydia可以做的是替你去苹果那里取,如果是2月4号以后才让Cydia取的,它当然只能取到3.1.3的了,这和iPhone的固件版本没有任何关系


一:说明和名词解释

什么是iPhone 3GS和iPod Touch 3G的 ECID (Exclusive Chip ID)?这个就是iPhone3GS的身份证号,每一个iPhone3GS (或者iPod Touch 3g)都有自己的独特的ECID。

什么是SHSH和它有什么用处?iPhone3Gs和iPodTouch 3g出来时候,苹果为加强对iPhoneOS的控制对恢复(Restore)固件(Firmware)采用了验证过程,每次iTunes要恢复固件的时候都要连接苹果的服务器验证(ECID就送到了服务器),如果通过验证服务器就送一个和ECID对应的文件SHSH到iTunes,这样iTunes就可以继续进行固件的恢复。

这个SHSH只有苹果有,别的任何人都没有,不管任何人想要都可用iPhone3GS的ECID(身份证)到苹果服务器取来,但现在苹果对3GS和ipt3g只给3.1.3的. 因为很多人不知道如何去苹果取到SHSH,Cydia就做这个服务,在Cydia里面只要点红心(Make my life easy),它就用你的3GS的ECID去苹果那里取来SHSH报留到Cydia的服务器里面备用。 现在如果想要刷3.1.2,就改host文件把苹果服务器的地址改成Cydia服务器地址,骗iTunes到Cydia的服务器里面去验证。

当然现在很多人怕Cydia服务器被黑,所以去Cydia服务器把SHSH信息取来自己报存,这样的话要刷3.1.2要麻烦些,要在自己电脑上建立一个服务器并且骗iTunes到这个本地服务器验证。 现在很多人说的备份,根本不是备份,是去Cydia那里把备分好的取回来自己保存。

看到坛里面很多问如何备份苹果固件验证文件SHSH的贴,很多人肯定都看烦了,也懒得回贴了。我这里求你们,不要瞎折腾了,现在只能备份到3.1.3的,没有任何用处,如果你想备份3.1.3的等越狱出来以后再备也不晚。

现在想备份SHSH,别瞎折腾了,已经不可能了。
----------------------------
二:怎么知道Cydia为你备份了或者没有备份SHSH

如果Cydia已经为你备份了,打开Cydia可以看到绿色的字“This device has SHSHs on files for iPhone OS: 3.1,3.1.2

如果打开Cydia的时候出来些错误信息,那说明没有办法连接到Cydia服务器,这样就要用DaiLi服务器才可以连接Cydia服务器了。
This device has a pending tss request。什么意思?

你的备份请求Cydia已经接收到了,但它没有办法完成这个请求(因为苹果已经不给3.1.2的SHSH了),所以这个请求永远会是Pending,你就别报什么希望了。
--------------------------------------------------------------------------------------------------------------------------
三:怎么找到ECID

办法一(这是最简单和安全的办法):如果你用你的电脑恢复过iPhone3GS的固件,那ECID就已经被保留到了你的电脑里了,你可以很简单的找到它。办法就是到windows的注册表(Registry)里面找,WindowsXP点开始,运行,打入regedit(这是注册表编辑器)运行。找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB,然后用regedit的发现(Find)功能搜索ECID,这样你会发现号几个下面这样的东西,ECID后面的那个16位数字就是你要找的ECID。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\Vid_05ac&Pid_1281\CPID:8920_CPRV:14_CPFM:03_SCEP:03 _BDID:00_ECID:0000XXXXXXXX0000_IBFL:01_SRNM:[XXXXXXXXXX]_IMEI:[XXXXXXXXXXXXXX]

办法二(有点危险):使iPhone3GS(或者iPod Touch 3g)进入Recovery或者DFU模式,然后用软件ECID graber或者USB View来看ECID,找到它以后,让iPhone3GS退出Recovery或者DFU模式。进入和退出Recovery (DFU)模式的教程看最后面。特别注意这个过程只是模拟恢复固件,一定把iTunes关掉!!!!


ECID graber的使用比较简单,下载解压双击运行,点Get ECID就搞定了(看图)。
USB View的教程别人已经写过,这里就不写了。
------------------------


四:从Cydia下载SHSH文件到本地的过程(取回SHSH自己保存)

下载最新的Umbrella and tinytss 221版http://www.mediafire.com/?0zblnijwiyj,解压

如果你的电脑没有安装java,那要安装java  
www.java.com

有java以后,双击unbrella.jar运行, (看图)

ECID:输入你的ECID
Device Version:选择iPhone 3gs -3.12
SHSH Repository:选择Saurik-Cydia

然后点Submit,等一下,你就会在你运行unbrella.jar的那个文件夹下看到shsh文件了


注意:可能需要DaiLi才连接得了Cydia服务器
------------------------------------

五:在Cydia有备份3.1.2的SHSH的刷3.1.2的办法

1.下载3.1.2官方固件到桌面

3GS:
http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw

2.修改windows的hosts文件把apple的验证服务器换成saurik的,

到文件夹C:\Windows\System32\drivers\etc\中找到文件hosts,
鼠标器右点它打开它的属性,如果是只读(Read only)那把它改成读写都可以,用notepad把它打开,在最后面加一行

74.208.105.171 gs.apple.com    (这个地址最近改成 74.208.10.249 了)

把文件存起来,检查一下这个文件应该是没有扩展名的,如果有txt扩展名把它去掉,最好把它的属性改回只读。

如果找不到这个host文件,你到文件夹选项里面的设置,把“不显示隐藏的文件和文件夹”改成“显示隐藏的文件和文件夹”。

3.iPhone连接电脑,按住电脑键盘Shift键,同时点恢复(Restore),这时候iTunes会让你找固件文件,找到它,放开shift,点OK。现在等,iTunes应该把iPhone送到Recovery模式进行恢复,等不到10分钟就该搞定了。

六:用存在本地电脑的SHSH文件刷3.1.2的办法

1.修改windows的hosts文件把apple的验证服务器换成本地服务器:到文件夹C:\Windows\System32\drivers\etc\中找到文件hosts, 鼠标器右点它打开它的属性,如果是只读(Read only)那把它改成读写都可以,用notepad把它打开,在最后面加一行

127.0.0.1 gs.apple.com    (记住恢复完以后把它删掉)

把文件存起来,检查一下这个文件应该是没有扩展名的,如果有txt扩展名把它去掉,最好把它的属性改回只读。
  
如果找不到这个host文件,你到文件夹选项里面的设置,把“不显示隐藏的文件和文件夹”改成“显示隐藏的文件和文件夹”。

2.用TinyTSS建立本地服务器:(a)关掉会像skype和msn这种会用到网络端口80的软件,(b)把fw-umbrella-semaphore-222.zip里面的内容都解压到一个文件夹,比如c:\umbrella 并且把shsh文件也放到这个文件夹里面,(c)打开windows的命令终端(command prompt),可以用“附件”那里进入,也可以在“start”,“运行”那里敲入命令cmd进入,注意一个要在管理员权限状态下进入命令终端,如果是xp的话在管理员帐号下就可以,如果是vista或者win7,在cmd上鼠标器右点在管理员权限状态运行,(d)从命令终端那里进入文件夹c:\umbrella (用命令 cd \  然后命令 cd c:\umbrella),(e)运行tinyTSS来建立验证服务器 tinytss -f xxxxxxxxxxx0-iphone-3.1.2.shsh   (这里xxxxxxxxxxx0-iphone-3.1.2.shsh是你的shsh文件的名字)

3.iPhone连接电脑,按住电脑键盘Shift键,同时点恢复(Restore),这时候iTunes会让你找固件文件,找到它,放开shift,点OK。现在等,iTunes应该把iPhone送到Recovery模式进行恢复,等不到10分钟就该搞定了。


-----------------------------------------------
如果iTunes不能把iPhone搞入Recovery模式,你可以手动把iPhone搞入Recovery模式,如果Recover模式不成功,你用DFU(Device Firmware Upgrade)模式来恢复

Recovery模式(白屏)
1.将你的iPhone关机,把iPhone从电脑断开
2.按住home键的同时接上usb数据线
3.当你看见白色的苹果和iTunes的logo时松开Home键
如果iTunes没有自动开那开启iTunes,等待其提示你进行恢复模式后,即可按住键盘上的shift键,点击'' 恢复'' , 选择相应的固件进行恢复

退出Recovery模式:同时按住开关和Home键15秒,放开开关键,继续按住home键两秒等iPhone重新启动。

DFU(Device Firmware Upgrade)模式(黑屏恢复)
1.用USB线将iPhone连接上电脑,然后你将会听见电脑已连接成功的提示声音
2.现在请先将iPhone关机,然后你将会听见电脑未连接成功的提示声音
3.请同时按住开关机键和home键,持续到第10秒的时候,请立即松开开关键,并继续保持按住home键
这个时候iTunes会自动启动,并提示你进行恢复模式(iPhone会一直保持黑屏状态) , 那么你就可以按住键盘上的shift键,点击 '' 恢复'', 选择相应的固件进行恢复

退出DFU模式就用强制关机就可以了(同时按住开关和Home键等关机提示出来是关机)

七:为什么iPhone3GS安装的固件版本是3.0.1的,但Cydia备份地SHSH是3.1或者3.1.2的?

Cydia备份SHSH的过程是这样的,你点红心的时候它取你手机的“身份证号码”ECID(这个是硬件的身份证和固件版本没有任何关系),然后用这个ECID去苹果那里取来SHSH保存。你的机固件是3.0.1的,如果你点的时候苹果还提供3.0.1的那它取到的就是3.0.1,如果你要求它取的时候苹果只提供3.1.2的了,那它取到的就是3.1.2的,这和你手机的固件版本没有任何关系。另外,当Cydia有你3.0.1备份以后,它也会在后来可以取到3.1和3.1.2的时候把3.1和3.1.2取来替你保存,你不必要再点红心。这就是说,如果Cydia有你的3.0.1的备份,那它肯定也有3.1和3.1.2的备份。

八:白苹果的时候可以考虑的办法(指越狱过和不肯定有3.1.2的SHSH备份的)

如果3GS的iboot版本是老的(所谓的Non MC机型号或者09年41周前完美越狱机)自己产生或者下载一个自制固件(越狱好的了),用自制固件来恢复就可以了,3.01,3.1,3.12和3.1.3的越狱好的自制固件都有。注意有锁机和无锁机用的自制固件是不一样的,因为无锁机是恢复好以后官方激活,有锁机是越狱的时候另类激活。

MC机(09年41周以后的非完美越狱机):第一步肯定是看看是不是Cydia里面备份了3.1.2的SHSH,这可以用从Cydia取SHSH的办法来看。注意就算你以前没有主动的要求Cydia为你备份,但可能你以前用Cydia的时候无意的点了红心让Cydia备份,很多机友都是这样的幸运情况。如果真的没有3.1.2的SHSH备份,那本楼主也没有什么招了。




欢迎光临 新西兰天维网社区 (http://bbs.skykiwi.com/) Powered by Discuz! X2