The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Jailbreak"
m (→Exploits which were used in order to jailbreak) |
m (→Exploits which are used in order to jailbreak 2.0+) |
||
Line 19: | Line 19: | ||
== Exploits which are used in order to jailbreak 2.0+ == |
== Exploits which are used in order to jailbreak 2.0+ == |
||
=== [[Userland]] (used for all devices) === |
=== [[Userland]] (used for all devices) === |
||
− | *[[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (together for [[Spirit]]) |
+ | * [[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (together for [[Spirit]]) |
− | *[[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (together for [[Star]]) |
+ | * [[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (together for [[Star]]) |
− | *[[Packet Filter Kernel Exploit]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]], for [[untethered jailbreak]]) |
+ | * [[Packet Filter Kernel Exploit]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]], for [[untethered jailbreak]]) |
− | *[[HFS Legacy Volume Name Stack Buffer Overflow]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]], for [[untethered jailbreak]]) |
+ | * [[HFS Legacy Volume Name Stack Buffer Overflow]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]], for [[untethered jailbreak]]) |
+ | * [[ic0nic]] exploit |
||
=== [[m68ap|iPhone]] / [[n82ap|iPhone 3G]] / [[n45ap|iPod touch]] === |
=== [[m68ap|iPhone]] / [[n82ap|iPhone 3G]] / [[n45ap|iPod touch]] === |
||
* [[Pwnage]] and [[Pwnage 2.0]] (together) |
* [[Pwnage]] and [[Pwnage 2.0]] (together) |
||
Line 28: | Line 29: | ||
* [[ARM7 Go]] (used by [[tethered jailbreak]]s) |
* [[ARM7 Go]] (used by [[tethered jailbreak]]s) |
||
* [[0x24000 Segment Overflow]] (used on "MB" models for an [[untethered jailbreak]]) |
* [[0x24000 Segment Overflow]] (used on "MB" models for an [[untethered jailbreak]]) |
||
− | *[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for units with the [[iBoot-240.5.1|new bootrom]]) |
+ | * [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for units with the [[iBoot-240.5.1|new bootrom]]) |
− | *[[usb_control_msg(0xA1, 1) Exploit]] (used for a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]]) |
+ | * [[usb_control_msg(0xA1, 1) Exploit]] (used for a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]]) |
=== [[n88ap|iPhone 3GS]] === |
=== [[n88ap|iPhone 3GS]] === |
||
* [[0x24000 Segment Overflow]] (used on older devices for an [[untethered jailbreak]]) |
* [[0x24000 Segment Overflow]] (used on older devices for an [[untethered jailbreak]]) |
||
Line 35: | Line 36: | ||
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for newer devices) |
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for newer devices) |
||
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
=== [[n18ap|iPod touch 3G]] === |
=== [[n18ap|iPod touch 3G]] === |
||
− | *[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] only) |
+ | * [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] only) |
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
=== [[n90ap|iPhone 4]] === |
=== [[n90ap|iPhone 4]] === |
||
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
=== [[n81ap|iPod touch 4G]] === |
=== [[n81ap|iPod touch 4G]] === |
||
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
===[[k48ap|iPad]]=== |
===[[k48ap|iPad]]=== |
||
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
===[[k66ap|Apple TV 2G]]=== |
===[[k66ap|Apple TV 2G]]=== |
||
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit) |
||
+ | * [[ic0nic]] exploit |
||
− | |||
==Jailbreak Tools == |
==Jailbreak Tools == |
Revision as of 00:23, 23 May 2011
This is the process by which full execute and write access is obtained on all the partitions of the iPhone. It is done by patching /etc/fstab to mount the System partition as read-write. This is entirely different from an unlock. Jailbreaking is the first action that must be taken before things like unofficial activation (hacktivation), and unofficial unlocking can be applied.
The original jailbreak also included modifying the AFC service (used by iTunes to access the filesystem) to give full filesystem access from root. This was later updated to create a new service (AFC2) that allows access to the full filesystem.
Modern jailbreaks also include patching the kernel to get around code signing and other restrictions.
Contents
Exploits which were used in order to jailbreak 1.x
1.0.2
- Restore Mode (iBoot had a command named cp, which had access to the whole filesystem)
1.1.1
- Symlinks (an upgrade jailbreak)
- libtiff exploit (Adapted from the PSP scene, used by JailbreakMe)
1.1.2
- Mknod (an upgrade jailbreak)
1.1.3 / 1.1.4
- Soft Upgrade (an upgrade jailbreak)
- Ramdisk Hack
Exploits which are used in order to jailbreak 2.0+
Userland (used for all devices)
- MobileBackup Copy Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (together for Spirit)
- Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (together for Star)
- Packet Filter Kernel Exploit (together with limera1n's bootrom exploit or the usb_control_msg(0xA1, 1) Exploit, for untethered jailbreak)
- HFS Legacy Volume Name Stack Buffer Overflow (together with limera1n's bootrom exploit or the usb_control_msg(0xA1, 1) Exploit, for untethered jailbreak)
- ic0nic exploit
iPhone / iPhone 3G / iPod touch
- Pwnage and Pwnage 2.0 (together)
iPod touch 2G
- ARM7 Go (used by tethered jailbreaks)
- 0x24000 Segment Overflow (used on "MB" models for an untethered jailbreak)
- usb_control_msg(0x21, 2) Exploit (tethered for units with the new bootrom)
- usb_control_msg(0xA1, 1) Exploit (used for a tethered jailbreak on units with the new bootrom)
iPhone 3GS
- 0x24000 Segment Overflow (used on older devices for an untethered jailbreak)
- iBoot Environment Variable Overflow
- usb_control_msg(0x21, 2) Exploit (tethered for newer devices)
- limera1n (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
iPod touch 3G
- usb_control_msg(0x21, 2) Exploit (tethered only)
- limera1n (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
iPhone 4
- limera1n's bootrom exploit (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
iPod touch 4G
- limera1n's bootrom exploit (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
iPad
- limera1n's bootrom exploit (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
Apple TV 2G
- limera1n's bootrom exploit (tethered on its own, untethered with an additional exploit)
- ic0nic exploit
Jailbreak Tools
Apple TV 2G
NOTE: The version in parentheses is what the Apple TV reports on TV.
Jailbreak Tool | Works with firmware... | |||||
---|---|---|---|---|---|---|
4.1 (4.0) | 4.2 (4.1) | 4.2.1 (4.1.1) | 4.3 Build 8F191m (4.2) | 4.3 Build 8F202 (4.2.1) | 4.3 Build 8F305 (4.2.2) | |
limera1n | no package management GUI | No | No | No | No | No |
sn0wbreeze | no package management GUI | No | No | No | 2.5-2.7.1 | No |
greenpois0n | no package management GUI | No | RC6-RC6.1 | No | No | No |
PwnageTool | no package management GUI | Restore from a custom firmware with unofficial bundle1 | 4.2 | No | 4.3-4.3.3.1 | 4.3-4.3.3.12 |
Seas0nPass | No | No | Yes | No | 0.7.4 (Mac) 0.3.7 (Windows) |
No |
redsn0w | No | No | No | No | 0.9.6rc16 | No |
2 User needs to manually add PwnageTool firmware bundle into application.
iPad
Jailbreak Tool | Works with firmware... | |||||||
---|---|---|---|---|---|---|---|---|
3.2 | 3.2.1 | 3.2.2 | 4.2.1 | 4.3 | 4.3.1 | 4.3.2 | 4.3.3 | |
Spirit | Yes | No | No | No | No | No | No | No |
Star | Yes | Yes | No | No | No | No | No | No |
limera1n | No | No | Yes | No | No | No | No | No |
greenpois0n | No | No | RC4 | RC5-RC6.1 | No | No | No | No |
redsn0w | No | No | 0.9.6b2-0.9.6rc16 | 0.9.6b41-0.9.6rc16
or 0.9.7b61 2 |
0.9.6rc91-0.9.6rc161 | 0.9.6rc91-0.9.6rc16 | 0.9.6rc131-0.9.6rc16 | 0.9.6rc16 |
PwnageTool | No | No | 4.1-4.1.3 | 4.2 | No | 4.3 | 4.3.2 | 4.3.3-4.3.3.1 |
sn0wbreeze | No | No | 2.1 | 2.2 | 2.3b41 | 2.5 | 2.6-2.6.1 | 2.7-2.7.1 |
2 If SHSHs were saved for iOS 4.2b3 and if you have a developer access to its IPSW, Jailbreak Monte can be used.
iPad 2
Jailbreak Tool | Works with firmware... | |||
---|---|---|---|---|
4.3 | 4.3.1 | 4.3.2 | 4.3.3 |
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 | 4.2.1 | 4.3 | 4.3.1 | 4.3.2 | 4.3.3 | |
purplera1n | Yes | No | No | No | No | No | 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 | 0.9.6b2-0.9.6rc16 | 0.9.6b41-0.9.6rc16 | 0.9.6rc91-0.9.6rc161 | 0.9.6rc91-0.9.6rc16 | 0.9.6rc131-0.9.6rc16 | 0.9.6rc16 |
blackra1n | No | No | Yes1 | Yes1 | No | No | No | No | No | No | No | No | No | No |
Spirit | No | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No |
Star | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No |
PwnageTool | No | No | Restore from a custom firmware2 | 3.1.42 | Restore from a custom firmware2 | Restore from a custom firmware with unofficial firmware bundle2 | 4.1-4.1.3 | 4.2 | 4.21 3 | 4.3 | 4.3.2 | 4.3.3-4.3.3.1 | ||
sn0wbreeze | No | No | No | 2.0.21 2 | 2.0.21 2 | 2.0.21 2 | 2.0.21 2 | 2.1 | 2.2 | 2.3b41 | 2.5 | 2.6-2.6.1 | 2.7-2.7.1 | |
limera1n | No | No | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No |
greenpois0n | No | No | No | No | No | No | No | No | RC4 | RC6.1 | No | No | No | No |
1 Tethered jailbreak on devices with the new bootrom.
2 Only applicable for devices with the old bootrom. Requires the device to have signature checks disabled (pwned).
3 Requires an unofficial firmware bundle.
iPhone 4 (GSM model)
Jailbreak Tool | Works with firmware... | ||||||||
---|---|---|---|---|---|---|---|---|---|
4.0 | 4.0.1 | 4.0.2 | 4.1 | 4.2.1 | 4.3 | 4.3.1 | 4.3.2 | 4.3.3 | |
Star | Yes | Yes | No | No | No | No | No | No | No |
limera1n | Yes | Yes | Yes | Yes | No | No | No | No | No |
greenpois0n | No | No | No | RC4 | RC5-RC6.1 | No | No | No | No |
redsn0w | No | No | No | 0.9.6b2-0.9.6rc16 | 0.9.6b41-0.9.6rc16
or 0.9.7b61 2 |
0.9.6rc91-0.9.6rc161 | 0.9.6rc91-0.9.6rc16 | 0.9.6rc131-0.9.6rc16 | 0.9.6rc16 |
PwnageTool | No | No | No | 4.1-4.1.3 | 4.2 | 4.21 3 | 4.3 | 4.3.2 | 4.3.3-4.3.3.1 |
sn0wbreeze | No | No | No | 2.1 | 2.2 | 2.3b41 | 2.5 | 2.6-2.6.1 | 2.7-2.7.1 |
2 If SHSHs were saved for iOS 4.2b3 and if you have a developer access to its IPSW, Jailbreak Monte can be used.
3 Requires an unofficial firmware bundle
iPhone 4 (CDMA model)
Jailbreak Tool | Works with firmware... | |||
---|---|---|---|---|
4.2.5 | 4.2.6 | 4.2.7 | 4.2.8 | |
greenpois0n | No | RC6.1 | No | No |
PwnageTool | No | 4.2 | No | No |
redsn0w | No | 0.9.6rc9-0.9.6rc16 | No | No |
sn0wbreeze | No | 2.2 | 2.6-2.6.1 | 2.7-2.7.1 |
iPod touch 3G
Jailbreak Tool | Works with firmware... | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
3.1.1 | 3.1.2 | 3.1.3 | 4.0 | 4.0.2 | 4.1 | 4.2.1 | 4.3 | 4.3.1 | 4.3.2 | 4.3.3 | |
blackra1n | Yes1 | Yes1 | No | No | No | No | No | No | No | No | No |
redsn0w | 0.9.31 | 0.9.31 | No | No | No | 0.9.6b2-0.9.6rc16 | 0.9.6b41-0.9.6rc16 | 0.9.6rc91-0.9.6rc161 | 0.9.6rc91-0.9.6rc16 | 0.9.6rc131-0.9.6rc16 | 0.9.6rc16 |
Spirit | No | Yes | Yes | No | No | No | No | No | No | No | No |
Star | No | Yes | Yes | Yes | No | No | No | No | No | No | No |
sn0wbreeze | No | 2.0.21 | 2.0.21 | 2.0.21 | 2.0.21 | 2.1 | 2.2 | 2.3b41 | 2.5 | 2.6-2.6.1 | 2.7-2.7.1 |
limera1n | No | No | No | Yes | Yes | Yes | No | No | No | No | No |
greenpois0n | No | No | No | No | No | RC4 | RC5-RC6.1 | No | No | No | No |
PwnageTool | No | No | No | No | No | 4.1-4.1.3 | 4.2 | No | 4.3 | 4.3.2 | 4.3.3-4.3.3.1 |
iPod touch 4G
Jailbreak Tool | Works with firmware... | |||||
---|---|---|---|---|---|---|
4.1 (both builds) | 4.2.1 | 4.3 | 4.3.1 | 4.3.2 | 4.3.3 | |
limera1n | Yes | No | No | No | No | No |
greenpois0n | RC4 | RC5-RC6.1 | No | No | No | No |
PwnageTool | 4.1-4.1.3 | 4.2 | No | 4.3 | 4.3.2 | 4.3.3-4.3.3.1 |
sn0wbreeze | 2.1 | 2.2 | 2.3b41 | 2.5 | 2.6-2.6.1 | 2.7-2.7.1 |
redsn0w | 0.9.6b2-0.9.6rc16 | 0.9.6b41-0.9.6rc16
or 0.9.7b61 2 |
0.9.6rc91-0.9.6rc161 | 0.9.6rc91-0.9.6rc16 | 0.9.6rc131-0.9.6rc16 | 0.9.6rc16 |
2 If SHSHs were saved for iOS 4.2b3 and if you have a developer access to its IPSW, Jailbreak Monte can be used.