Difference between revisions of "Jailbreak"

From The iPhone Wiki
Jump to: navigation, search
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.

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

1.1.2

  • Mknod (an upgrade jailbreak)

1.1.3 / 1.1.4

Exploits which are used in order to jailbreak 2.0+

Userland (used for all devices)

iPhone / iPhone 3G / iPod touch

iPod touch 2G

iPhone 3GS

iPod touch 3G

iPhone 4

iPod touch 4G

iPad

Apple TV 2G

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

1 Tethered jailbreak.

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

1 Tethered jailbreak.

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

1 Tethered jailbreak.

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

1 Tethered jailbreak.

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

1 Tethered jailbreak.

2 If SHSHs were saved for iOS 4.2b3 and if you have a developer access to its IPSW, Jailbreak Monte can be used.