Apple did not have the time to fix the 0x24000 Segment Overflow in the S5L8920, and apparently the S5L8922 also. However, in order to flash an exploited LLB and jailbreak the iPhone 3GS and iPod touch 3G, 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 iPod touch 3G and later devices, except a bootrom exploit is needed.
Apple added a new tag to the IMG3 File Format called ECID. The ECID is unique to each phone, and is being sigchecked. So Apple could block downgrades once newer firmware becomes available, unless you have a dump of your unique old firmware's IMG3 or signed certificate. Therefore, iBoot exploits won't be so useful for tethered jailbreaks, because such exploits will be closed in new firmwares. .
The issue with this is that, even with 24kpwn still in bootrom, an iBoot exploit is still needed to actually flash the exploited LLB. If Apple uses this ECID stuff to block downgrades, then a new iBoot exploit will be needed whenever they fix the last, so that 24kpwn can be applied. This is because Apple could choose to not let you upload an older, exploitable iBEC/iBoot/iBSS to the device.
There are methods to help keep your downgrading ability, though.
- If it was cached prior to 3.1's release, 3GS owners can save a file which contains the signature of the 3.0 iBSS containing their ECID, using .
- 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 Umbrella. An included application, TinyTSS, would allow 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). The only difference is that Umbrella and TinyTSS are local applications.
- redsn0w 0.8 by the iPhone Dev Team (also works with 3.0.1)
- PwnageTool 3.0.1 by the iPhone Dev Team
- purplera1n by Geohot.
Firmware 3.1 can be jailbroken using PwnageTool 3.1.3 (Mac only), provided that the device was previously jailbroken on 3.0/3.0.1. It is currently possible to jailbreak all devices that ship with 3.1 pre-installed or that have updated to 3.1/3.1.1/3.1.2 using geohot's blackra1n.