Click here to Close
 
打印

[讨论] bootneuter作者关于baseband损坏无法修复的解释

bootneuter作者关于baseband损坏无法修复的解释

根据本人个人理解翻译的,不对的地方轻点拍俺...
MuscleNerd
iPhone DevTeam

Join Date: Aug 2007
Location: Always sunny Los Angeles, California
Posts: 316
Rep Power: 21  
--------------------------------------------------------------------------------
If sping reports "unexpected result 0xc1" that's a bad sign
It basically means that although the low-level bootrom noticed you knocking and accepted the serial payload, it refused to run it because it thinks the bootloader has started.
But if the bootloader was still active you'd see more characters after the 0xc1, so that means the bootloader has passed control to the baseband and the baseband has spun out of
control.
The boot sequence is bootrom->bootloader<->baseband. The bootrom sanity checks the bootloader before running it, the bootloader sanity checks the baseband before running it. The
sanity check is pretty weak though. If the bootloader passes CPU control to the baseband and the baseband is corrupted and throws an invalid instruction or data alignment
exception (for example) early in the boot process, the exception vectors are not set up yet and you'll end up in tight loop using dummy handlers.
In other words, your S-Gold is doing bootrom->bootloader->baseband->tight loop. The tight loop is preventing the bootloader from servicing interactive bootloader requests done
by bbupdater, bootneuter, and the rest.
In theory, if your baseband is empty at the right locations above a0040000, you may still be able to do the A17 hardware hack, which will trick the bootrom into thinking the
bootloader is empty and so it would execute your serial payloads.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果用sping这个程序检测的结果是"unexpected result 0xc1",这是一个非常糟糕的情况
它基本表明尽管底层的bootrom注意到你的请求并接受了软件包,但它拒绝运行,因为它认为bootloader在运行中。但是如果bootloader如果还处于运行状态,你应该在0xc1后面看到更多的信息,因此这意味着bootloader已经把控制权交给了baseband,而baseband失控了。
(iphone)启动的顺序是:bootrom->bootloader<->baseband。bootrom在运行bootloader之前会对它进行完整性检测,bootloader在运行baseband之前会对它进行完整性检测。可是这个完整性检测是非常弱的。如果在启动初期,bootloader把CPU控制权交给baseband,而baseband已经损坏,并发出无效的指令或异常数据队列,这些异常向量一直无法建立,而你将困在一个假操作的死循环中。
换句话说,你的S-gold(iphone里负责通讯模块的cpu)一直在做 bootrom->bootloader->baseband->死循环。这个死循环(占用cpu)阻止了bootloader与 bbupdater、bootneuter等软件的交流。
理论上,如果你的baseband在a0040000这个位置是空白的话,你还是有可能用A17硬件破解法通过欺骗bootrom,让它认为bootloader是空的,来执行一些刷机软件包
特别注释:3.9的bl由于有漏洞,可以用软件欺骗bootloader对baseband的完整性检测,避免进入死循环,从而实现重刷损坏的baseband
          4.6的bl没有这个漏洞了,但在baseband完整的情况,可以通过bootneuter对BL进行修改,去掉这个完整性检测,然后再刷新baseband
          当在原生的4.6BL情况下,一旦baseband损坏,现阶段可能就是一个灾难了,只有尝试用A17的的硬件破解法修复了

[ 本帖最后由 bluesprince 于 2008-4-9 10:08 编辑 ]
本帖最近评分记录
  • gnr2000 人气 +2 我很赞同 2008-4-9 10:15

TOP

这个要顶...... 没事打死不升4.6

TOP

以上信息对于BL4.6而Baseband损坏的朋友来说真是噩耗啊!只有用A17引脚硬件破解方法了

TOP

现在最安全的BL是3.9啊,大家都先待在3.9吧,反正想升级的时候就可以升级,还是安全第一啊

TOP

呵呵,如果你使用菠萝处理过,你可以放心的升级4.6.因为这个4.6是可以逆转的,包含3.9的特性且可以拥有原生BL的4.6漏洞, 使用3.9FB的,你就慢慢的用吧,哈哈。
今天的现实只是明天的回忆,明天的现实只是今天的梦想.

TOP

TOP

引用:
原帖由 角容 于 2008-4-9 10:18 发表
呵呵,如果你使用菠萝处理过,你可以放心的升级4.6.因为这个4.6是可以逆转的,包含3.9的特性且可以拥有原生BL的4.6漏洞, 使用3.9FB的,你就慢慢的用吧,哈哈。 ...
关于去势的4.6是不是可以修补损坏的Baseband,个人感觉还是值得商榷。去势的4.6只是跳过了BB和FW的一致性检查,使4.6下可以使用解锁的最新版Baseband,但是是否可以修补损坏的Baseband呢?

TOP

头脑一片混乱。。。。

TOP

引用:
原帖由 gnr2000 于 2008-4-9 10:30 发表

关于去势的4.6是不是可以修补损坏的Baseband,个人感觉还是值得商榷。去势的4.6只是跳过了BB和FW的一致性检查,使4.6下可以使用解锁的最新版Baseband,但是是否可以修补损坏的Baseband呢? ...
这就是偶一直想知道的,如果可以,去势后的4.6BL是最完美的(前提是OTB就是4.6的)。只是,,,谁会有意把BB弄坏再试呢?或者說现在BB坏的,又有谁是在去势的4.6BL下呢?

TOP

没试过,不知道高人们如何搞坏 BB的。。。。

升级了几台BL,只要准备工作完善,都没出过问题。

TOP