Difference between revisions of "Jailbreak (S5L8920+)"

From The iPhone Wiki
Jump to: navigation, search
(iPhone 3GS: Completed sn0wbreeze section for 3GS)
(Jailbreak tools)
Line 69: Line 69:
 
| {{yes|0.8}}
 
| {{yes|0.8}}
 
| {{yes|0.8}}
 
| {{yes|0.8}}
| {{yes|0.9.2<sup>(1)</sup> or 0.9.3<sup>(1)</sup>}}
+
| {{yes|0.9.2<sup>1</sup> or 0.9.3<sup>1</sup>}}
| {{yes|0.9.2<sup>(1)</sup> or 0.9.3<sup>(1)</sup>}}
+
| {{yes|0.9.2<sup>1</sup> or 0.9.3<sup>1</sup>}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 80: Line 80:
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
| {{partial|Restore from a custom firmware<sup>(2)</sup>}}
+
| {{partial|Restore from a custom firmware<sup>2</sup>}}
 
| {{yes|3.1.4}}
 
| {{yes|3.1.4}}
|colspan="2" {{partial|Restore from a custom firmware<sup>(2)</sup>}}
+
|colspan="2" {{partial|Restore from a custom firmware<sup>2</sup>}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
|-
 
 
| [[sn0wbreeze]]
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{partial|1.4<sup>(2)</sup> or 2.0.2<sup>(2)</sup>}}
 
| {{partial|1.5.1<sup>(2)</sup> or 2.0.2<sup>(2)</sup>}}
 
| {{partial|1.7<sup>(2)(3)</sup> or 2.0.2<sup>(2)(3)</sup>}}
 
|colspan="3" {{partial|2.0.2<sup>(2)(3)</sup>}}
 
 
|-
 
|-
 
| [[blackra1n]]
 
| [[blackra1n]]
Line 129: Line 119:
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
  +
|-
  +
| [[sn0wbreeze]]
  +
| {{no}}
  +
| {{no}}
  +
| {{no}}
  +
| {{yes|1.4<sup>1 2</sup> or 2.0.2<sup>1 2</sup>}}
  +
| {{partial|1.5.1<sup>1 2</sup> or 2.0.2<sup>1 2</sup>}}
  +
| {{partial|1.7<sup>1 2</sup> or 2.0.2<sup>1 2</sup>}}
  +
|colspan="3" {{partial|2.0.2<sup>1 2</sup>}}
 
|}
 
|}
<sup>1</sup> Tethered jailbreak on devices with the [[iBoot-359.3.2|new bootrom]].
+
<sup>1</sup> [[Tethered jailbreak]] on devices with the [[iBoot-359.3.2|new bootrom]]. Requires usage of the [[usb_control_msg(0x21, 2) Exploit]].
   
 
<sup>2</sup> Only applicable for devices with the [[iBoot-359.3|old bootrom]]. Requires the device to have signature checks disabled (pwned).
 
<sup>2</sup> Only applicable for devices with the [[iBoot-359.3|old bootrom]]. Requires the device to have signature checks disabled (pwned).
 
<sup>3</sup> Tethered jailbreak only available on devices with the [[iBoot-359.3.2|new bootrom]] and the [[usb_control_msg(0x21, 2) Exploit|3.1.2 firmware]].
 
   
 
===[[N90ap|iPhone 4]]===
 
===[[N90ap|iPhone 4]]===
Line 198: Line 195:
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
  +
|-
  +
| [[sn0wbreeze]]
  +
| {{no}}
  +
| {{yes|1.4<sup>1</sup> or 2.0.2<sup>1</sup>}}
  +
| {{partial|1.5.1<sup>1</sup> or 2.0.2<sup>1</sup>}}
  +
| {{partial|1.7<sup>1</sup> or 2.0.2<sup>1</sup>}}
  +
|colspan="2" {{partial|2.0.2<sup>1</sup>}}
 
|}
 
|}
<sup>1</sup> Tethered jailbreak.
+
<sup>1</sup> [[Tethered jailbreak]]. Requires usage of the [[usb_control_msg(0x21, 2) Exploit]].

Revision as of 14:49, 26 September 2010

When the iPhone 3GS was initially released, Apple did not have enough time to fix the 0x24000 Segment Overflow in the S5L8920. However, in order to flash an exploited LLB and jailbreak the iPhone 3GS, one of the following needs to be done:

  • Find a new iBoot exploit every time a new firmware is out.
  • Find a way to bypass the ECID checks.
  • Find another bootrom exploit that allows unsigned code executing via USB (Pwnage 2.0-like)

This also applies to the iPhone 3GS with the new bootrom, iPod touch 3G and later devices, except a bootrom exploit is needed as well.

ECID

Apple added a new tag to the IMG3 File Format called ECID. The ECID is unique to each phone, and its signature is being checked. With this method, Apple attempts to block downgrades once newer firmware becomes available, unless you have a dump of your old firmware's unique IMG3 or signed certificate. Therefore, iBoot exploits won't be so useful for tethered jailbreaks, because such exploits will be closed in new firmwares. [1].

The issue with this is that, even with the 0x24000 Segment Overflow still in bootrom, an iBoot exploit is still needed to actually flash the exploited LLB. Apple uses this ECID stuff to block downgrades, and a new iBoot exploit is needed whenever they fix the last, so that the 0x24000 Segment Overflow can be applied. This is because Apple chooses to not let you upload an older, exploitable iBEC/iBoot/iBSS to the device (unless it is signed with your ECID).

There are methods to help keep your downgrading ability, though.

  • If it was cached prior to 3.1's release, 3GS owners were able save a file which contains the signature of the 3.0 iBSS containing their ECID, using the purplera1n website. A tool has not been created to incorporate this file into a fully signed iBSS, however.
  • Saurik's servers are actively caching the necessary files. Instructions to use the servers are included.
  • The SHSH associated with an ECID can be also saved by running TinyUmbrella. TinyUmbrella allows the user to restore to whatever version is associated with that SHSH file permanently. This is based on the aforementioned service Saurik provides remotely from his server(s).

Jailbreak tools

iPad

Jailbreak Tool Works with firmware...
3.2? 3.2.1? 3.2.2?
Spirit Yes No No
Star Yes Yes No

iPhone 3GS

Jailbreak Tool Works with firmware...
3.0? 3.0.1? 3.1? 3.1.2? 3.1.3? 4.0? 4.0.1? 4.0.2? 4.1?
purplera1n Yes No No No No No No No No
redsn0w 0.8 0.8 0.9.21 or 0.9.31 0.9.21 or 0.9.31 No No No No No
PwnageTool No No Restore from a custom firmware2 3.1.4 Restore from a custom firmware2 No No No
blackra1n No No Yes1 Yes1 No No No No No
Spirit No No No Yes Yes No No No No
Star No No No Yes Yes Yes Yes No No
sn0wbreeze No No No 1.41 2 or 2.0.21 2 1.5.11 2 or 2.0.21 2 1.71 2 or 2.0.21 2 2.0.21 2

1 Tethered jailbreak on devices with the new bootrom. Requires usage of the usb_control_msg(0x21, 2) Exploit.

2 Only applicable for devices with the old bootrom. Requires the device to have signature checks disabled (pwned).

iPhone 4

Jailbreak Tool Works with firmware...
4.0? 4.0.1? 4.0.2? 4.1?
Star Yes Yes No No

iPod touch 3G

Jailbreak Tool Works with firmware...
3.1.1? 3.1.2? 3.1.3? 4.0? 4.0.2? 4.1?
blackra1n Yes1 Yes1 No No No No
redsn0w 0.9.21 or 0.9.31 0.9.21 or 0.9.31 No No No No
Spirit No Yes Yes No No No
Star No Yes Yes Yes No No
sn0wbreeze No 1.41 or 2.0.21 1.5.11 or 2.0.21 1.71 or 2.0.21 2.0.21

1 Tethered jailbreak. Requires usage of the usb_control_msg(0x21, 2) Exploit.