(现在3.13的完美越狱也出来了。对于SHSH文件的工具也更新了。但是其原理是一样的,所以不管固件版本如何,只要SHSH文件备份了,验证服务器工具更新了,就肯定能成功!)
本操作需要以下几方面知识做前提
1、需要稍dos操作,至少知道CMD命令行下的基本命令。
2、知道ECID以及SHSH这几个东西是怎么回事。
3、如果你没有备份3.12OS以前的shsh文件。现在已经不能备份了。

要求你:
1、备份了3.12或者3.1的shsh文件的朋友,能承受失败。
2、最好机器是41周前的,这样你可以放心刷机。
3、详细、细心的看本帖子,如有不明白,再查看基础知识,本帖有链接。

如果你不知道自己的机器是不是备份了ECID、SHSH的话。请看:
『WEIP技术组』关于APPLE第3代手持设备刷机的正式公告:http://bbs.weiphone.com/read-htm-tid-645105.html
如果你的确在cydia上备份过你的SHSH,实在不行的话,那么你先用更改hosts文件的方法,直接使用cydia的验证服务器试试刷机。具体方法下面有介绍。

顺便提一下,现在很多朋友,对3gs的各个名词都还一概不知,完全不懂,等到出问题了,不行了就着急了,论坛里有很多的技术类帖子,基本上所有的问题都可以通过搜索找到答案,所以,建议小苹果们多看看帖子,至少基本原理和操作要知道才行,不要一点点问题就来发问。毕竟每个人的精力是有限的,坛子里的技术贴很多,多看看有帮助的,别太懒惰了,看帖仔细点看哦!

一些前期准备知识帖
『关于永久性越狱』ECID及SHSH、自建服务器的原理及解释http://bbs.weiphone.com/read-htm-tid-554763.html

[一次越狱,终身越狱!]备份ECID和.shsh文件(通过Cydia的On File和本地备份)更新使用备份教程:http://bbs.weiphone.com/read-htm-tid-550185.html

2月4日零时开始iTunes开始禁止恢复3.1.2【附解决办法】:http://bbs.weiphone.com/read-htm-tid-641817.html

对上述操作及ECID和SHSH及其概念不太了解的请先看我的解释贴,链接:
关于ECID及SHSH的解释

注意:
1、由于目前apple只提供3.13的固件的shsh密匙文件,所以若你没有在cydia上备份好你的shsh,那么本方法不能将你的手机降级!
(比如你手机运行Cyida后,在cydia的顶行如果能见到一行“This device has SHSHs on file for iphone OS:3.0,3.1,3.1.2”就如下图红色框那样:

这是我的手机图,表示的是我的机器已经备份好了3.0,3.1,3.1.2固件的SHSH文件了。(目前我的3.13也已经备份好了。)

注意:只有红框里面是表示你是否备份成功的标志。其他地方一概不是
如果你没有这个图片,或者你不知道你有没有备份。那么你就用我umbrella.jar,尝试着从cydia下载你的shsh。能下载说明你备份了。失败了,就说明你没备份,那么本方法对你无效
2、对于你的机器,每个版本固件都有一个唯一的shsh文件与之对应,不能随意匹配!

===========这里附上直接使用cydia服务器验证刷机方法==========
(非自建服务器。此方法也需要你备份了shsh)
1.搜索windows里的hosts文件。去掉“只读属性”
2.用文本工具打开hosts文件,在文件的最后一行加上:
74.208.105.171 gs.apple.com ,注意ip和域名间有空格,保存好。
3.在运行里运行:ipconfig  /flushdns 命令。
4.进入itunes,shift+固件,恢复即可。
(我的方法只是将cydia服务器搬到本地进行脱离internet验证而已,所以基础,必须要有shsh的备份)

===================下面的就是自建服务器刷机步骤==================

工具软件准备(仅需Tinytss压缩包即可
经过测试,Tinytss220版本能模拟3.12的shsh签名,能够顺利重刷3.12系统!

最新Tinytss222模拟工具地址适合3.13): fw-umbrella-semaphore-222.zip (5056 K) 下载次数:3755 .
对于新工具的更新,请详细看看工具包里的TXT文件,并进入dos环境,运行tinytss.exe  /?(tinytss.exe  /help),可以查看tinytss工具的详细命令介绍!我在这里就不多做介绍了。都是简单的英文。
第一步、获得你机器的ECID码
一、将IPHONE 3GS置于恢复模式:
进入恢复模式和DFU模式的办法
1、恢复模式,此模式有USB和ITUNES图标在IPHONE上显示,
进入方法:关机,然后按住HOME键插数据线,会出现白苹果开机,
不要松开HOME键,直到USB插头和ITUNES图标出现,
itunes会提示找个一个处于恢复模式的IPHONE
2、DFU模式,此模式没有任何显示,iphone上没有任何提示,
屏幕一直处于关闭状态,没有任何显示的,如同关机一般
进入方法:开机状态下插着数据线关机,
然后同时按住power键和home键十秒(此处是关键,不多不少10秒,可对着表操作),然后松开POWER,不要松开home,直到ITUNES提示找个一个处于恢复模式的IPHONE,这期间iphone是不会有任何显示的。
二、用USBVIEW查看机器的ECID码
1、启动USBVIEW
2、开启“option”里面将“config descriptors”
3、按F5刷新一下
4、找到“Apple Recovery (iBoot) USB drive”并点击进去
5、在右边的框框中找到ECID
6、复制下你的ECID

第二步、从cydia或者Apple服务器上下载你的SHSH密匙文件到本地计算机:

根据ECID码获取SHSH文件
先到JAVA官网下载java运行环境。安装好后,继续!
解压缩fw-umbrella-semaphore-222压缩包,
1.获取shsh文件工具:双击umbrella.jar
(选择好你需要的OS版本,和获取地址可选:apple或者cydia,一般选择是cydia。)点击submit。几秒种后,本目录下就会有一个名如:xxxxxxxxxxx-iphone-xxxx.shsh的文件。
如图:

第三步:建立本地验证服务器:
进入dos命令行
dos下敲入:tinytss -f  xxxxxxxxxxx-iphone-xxxx.shsh
(文件名称可以自己更改。即可!新版工具命令有些变化,请参看说明!

对于新工具的更新,请详细看看工具包里的TXT文件,并进入dos环境,运行tinytss.exe  /?(tinytss.exe  /help),可以查看tinytss工具的详细命令介绍!我在这里就不多做介绍了。都是简单的英文。)
运行:tinytss -f  xxxxxxxxxxx-iphone-xxxx.shsh

显示如下图所示,即表示服务器已经运行。


第四步:修改Hosts文件

hosts文件路径是C:\Windows\System32\drivers\etc
查看文件的属性,去掉只读,等属性。
将hosts文件最后一行添上:
127.0.0.1 gs.apple.com


或者你也可以使用下面这个工具更改!
更改hosts工具:苹果验证服务器补丁 更改hosts工具.rar (54 K) 下载次数:2770

PS:更改完hosts后,在cmd环境中运行:ipconfig  /flushdns命令,以刷新DNS缓存。

第五步:开始恢复3.X系统
将iphone进入DFU模式!shift +恢复,选取3.XOS。恢复系统!





至此,系统恢复完毕!


已用ATT卡激活,还未越狱的3gs:


越狱:



最后:除错
下面列出了一些错误代码,及出错原因:
1、1604错误,出错原因,可能是你电脑的某项服务未开启,可尝试打开Telnet ,Messenger,Terminal Services三个服务
我的电脑->右键->管理->服务telnet ,messenger ,terminalservices->右键属性->启动。

2、3002错误,说明你的固件和这个shsh文件不匹配或者这个shsh文件有问题。
3、1015错误,说明你的固件与你机器的基带不匹配。出现1013或1015错误,一般是降级固件时发生,通讯版本比固件版本高才会提示1013或1015错误.(属于正常现象)
比如3.12的基带是05.11.07,而3.13基带是05.12.01

对于无锁版来说,基带无所谓的。如,基带是05.12.01,你刷3.12去基带自制固件,那么就会出现1015错误。

很多人被1015错误搞得晕了。
现在来说说
搞定这个1015错误:
(理论上有锁/无锁都能行的)
方法一:
有论坛朋友反映,基带比固件版本高。还可以用irecovery启动机器。我没有试验过(也没有这个条件),所以具体方法,还需各位在坛子里搜索一下。

方法二:
此处是借用天草降临的精华帖
截取部分(在此感谢论坛的天草的努力研究):
1、提示1015错误,不要紧,固件已经恢复了,只是降基带失败,现在小i处于无限恢复模式之中,打开修改过了的hosts文件,去掉加入的74.208.105.171 gs.apple.com 这行,关闭itunes 。l

2、打开redsn0w 0.9.4,
(有锁版不必这么麻烦,只要用redsn0w越狱就可以回归touch并且激活,然后静等基带的软解锁发布,一次如果失败,再一次就可以成功,步骤及教程省略,请自行操作)
(无锁版请继续按照教程操作,如果直接越狱,redsn0w将激活小i, 但是itunes认为已经激活就不再激活/解锁,将导致无信号)
现在我们要做的是跳出恢复模式,点“browse”

3、选择官方3.1.2固件

4、 这个是提示是否41周后的3gs, 我们目的是要利用redsn0w跳出恢复模式,所以不管你的小i是几周的都点“是”

5、固件校验通过,点“next”


6。这是下一个画面,


7。请选择下面的“just boot tethered right now”


8。 处理中,


9。处理完毕,这时小i重起后会进入待激活状态


至此,应该就能搞定1015错误了。记住41周后的机器是不能断电的哦!

再次感谢天草降临的帖子。

==============================================

PS:
本人的机器是3.0美版3gs16g。
我在cydia备份3.0的ECID的时候就备份了的。
然后利用帖子里面的工具,从cydia上down下我的SHSH文件,自建服务器恢复3.0的。
如果各位想现在再来备份3.1以下的所有版本的ECID,已经不可能了。
—-
我的经历不是降级,是利用自己的shsh文件,本地重刷3.0系统。
对于降级的朋友,我没有操作过,没有发言权,不过我想如果你到了3.1,再来降级,我估计应该会遇到蛮多麻烦的,(不论你是否备份过3.0的ECID和SHSH)。

现在对于想降级方面,有两个比较麻烦的因素:
1.是3.0(3.01)和3.1的基带不一样。
如果3.1降到3.0,那么即使你有ECID和SHSH,那么基带的差别就成了你降级的拦路虎。

2.是否拥有相应系统版本的ECID和SHSH签名文件。

这两个因素,如果有一个出现问题,我想,都会导致你的降级出现麻烦!