Click here to Close
 
打印

[讨论] 对升级Modem 04.05.0x的总结,看完保证不再no wifi,不怕1012、1011

本主题由 tracyneil 于 2008-5-11 18:24 设置高亮

对升级Modem 04.05.0x的总结,看完保证不再no wifi,不怕1012、1011

坛子里目前对于刷Modem相当的热衷,刷死的朋友也不再少数
我想说的是,在操作之前,要搞清楚为什么要这样做,搞清楚其中的原理,就能最大减少白苹果的可能性
所以这里我想说一下我对刷写04.05.0X版本Modem的原理总结,搞清楚这些了,保证不会白苹果

首先先讲讲BaseBand的结构
根据我的分析,BaseBand应该有两个部分,分别存在于Iphone的两个物理区域里:
一个是ramdisk,也就是Iphone的EEPROM,这部分用于在系统加电启动时,进行初始的基本功能引导和自身验证;
另一个部分则存在于NAND闪存芯片上,这部分是主体代码,用来实现通信等更复杂的功能。
所以当一个完整的BaseBand被提取Dump出来时,分为两个文件,一个是eep后缀结尾的,是EEPROM的镜像,另一个是BaseBand的主体代码,后缀为fls
当这个两个部分被正确的写入系统之后,BB就可以正常运行了
这两部分可以通过bbupdate这个工具进行写入,具体命令为
./bbupdate -e *.eep -f *.fls

但写入过程中还有一个麻烦的问题,就是BL
我们知道BL是控制BB和FW写入的底层程序,BL在写入时,并不是你让他写什么,他就写什么的,不然Iphone的破解就不会那么困难了:)
正常的BL在进行FW和BB写入时,会读取一个叫做Secpack的区域,对写入的代码进行验证,确保他是正常的代码(类似于数字签名)
不同的BB版本,对应不同的Secpack,必须先刷入正确版本的Secpack,才能保证BB的正常写入,不然在进行bbupdate时,就会出现failed,can not verify *.fls之类的错误信息
不过也有一种特别的BL,就是BootNeuter阉割过的BL,这种BL在写入代码时,跳过了Secpack的验证,不校验数字签名,用这种BL的Iphone可以跳过secpack的写入,直接进行bbupdate不会报错
secpack的写入是通过ieraser这个程序完成的,具体方法为下载对应版本的secpack,命名为secpack,然后和ieraser这个程序放到一个目录里,然后执行
./ieraser


弄清楚这些,我们总结一下
方法一
正常的BL,写入一个BB应该经过两个步骤

1、用ieraser刷入secpack
2、用bbupdate进行BaseBand升级

而如果你找不到对应版本的secpack,或者想要一劳永逸,那么你要这样做:
方法二
1、用BootNeuter对现有BL进行阉割(Neuter)
2、用bbupdate进行BaseBand升级

(未完待续)

[ 本帖最后由 shady 于 2008-5-11 23:43 编辑 ]
本帖最近评分记录
  • alucardking 人气 +3 绝对技术贴,楼主,谢谢,俺就3分,请笑纳! ... 2008-5-12 13:47
  • andy88zhang 经验 +7 感谢分享 2008-5-12 01:45
  • andy88zhang 人气 +15 感谢分享 2008-5-12 01:45
  • andy88zhang we券 +10 感谢分享 2008-5-12 01:45
  • 2006 人气 +5 支持技术帖 2008-5-11 23:46
  • 洞悉星光 人气 +1 通俗易懂 2008-5-11 19:47
  • macres 人气 +5 长知识! 2008-5-11 11:29

TOP

另外顺便讲一下BootNeuter这个软件,以及Ziphone的Erase BB功能

很显然,目前这两个软件在清除BB和secpack时,Iphone上都必须有这些版本支持的BB版本才能进行操作,具体为什么,我猜想大概是secpack的长度和位置对于不同版本的BB是不一样的

所以,如果你已经使用了升级secpack的方法升级了modem 04.05.01,那么你将不能使用BootNeuter这个软件进行Neuter操作
理论上讲,可以通过我在另一个帖子提供的修改版的ZIphone首先进行BB的降级,然后再用BootNeuter进行Neuter操作,然后用上文说到的方法二进行Modem升级

最后,我想号召一下那些发教程的朋友
请将你们的教程进行适当的修改,注明使用何种方法升级
并对打包文件进行调整,如果采用方法二,请不要附带ieraser和secpack,如果采用方法一,请提供正确的secpack并注明

谢谢那些发教程的朋友,虽然你们的教程不是完美的,也带来了一些问题,但是没有问题就不会有人去研究其中的原理

[ 本帖最后由 shady 于 2008-5-11 11:35 编辑 ]
本帖最近评分记录
  • alucardking 人气 +3 绝对技术帖,俺一次就能加3分,笑纳! ... 2008-5-12 13:46

TOP

先顶再看 楼下 你说呢?

TOP

支持!!!

TOP

这才是技术帖的典范啊

TOP

技术贴

问个问题,按照您的说法让iphone支持自定义固件是在BootNeuter阉割BL的时候完成的,那pwnage里第一步”菠萝手机“干的是什么呢?

望解答....

TOP

做个记号   辛苦了 哟

TOP

这才是技术帖的典范啊,通俗易懂,学习了

TOP

引用:
原帖由 gobye 于 2008-5-11 12:25 发表
做个记号   辛苦了 哟
so do I!

TOP

引用:
原帖由 hermitman 于 2008-5-11 11:58 发表
技术贴

问个问题,按照您的说法让iphone支持自定义固件是在BootNeuter阉割BL的时候完成的,那pwnage里第一步”菠萝手机“干的是什么呢?

望解答.... ...
应该也是阉割BL,因为Pwnage的固件肯定是不能通过secpack验证的,除了把BL阉割掉,没有方法写入未经secpack验证的代码
本帖最近评分记录

TOP