Difference between revisions of "Jailbreak"

From The iPhone Wiki
Jump to: navigation, search
m (4.3.1 / 4.3.2 / 4.3.3)
m (Exploits which are used in order to jailbreak 3.x: Wrong iBoot versions for the iPod touch 2G bootroms.)
Line 43: Line 43:
 
=== 3.1 / 3.1.1 ===
 
=== 3.1 / 3.1.1 ===
 
* [[Pwnage]] + [[Pwnage 2.0]] (together for [[untethered jailbreak]] on [[m68ap|iPhone]], [[n45ap|iPod touch]], and [[n82ap|iPhone 3G]])
 
* [[Pwnage]] + [[Pwnage 2.0]] (together for [[untethered jailbreak]] on [[m68ap|iPhone]], [[n45ap|iPod touch]], and [[n82ap|iPhone 3G]])
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak]] on [[n72ap|iPod touch 2G]] [[iBoot-250.5.1|new bootrom]], [[n88ap|iPhone 3GS]] [[iBoot-359.3.2|new bootrom]], and [[n18ap|iPod touch 3G]])
+
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak]] on [[n72ap|iPod touch 2G]] [[iBoot-240.5.1|new bootrom]], [[n88ap|iPhone 3GS]] [[iBoot-359.3.2|new bootrom]], and [[n18ap|iPod touch 3G]])
* [[0x24000 Segment Overflow]] + [[usb_control_msg(0x21, 2) Exploit]] ([[n72ap|iPod touch 2G]] [[iBoot-250.4|old bootrom]] and [[n88ap|iPhone 3GS]] [[iBoot-359.3|old bootrom]])
+
* [[0x24000 Segment Overflow]] + [[usb_control_msg(0x21, 2) Exploit]] ([[n72ap|iPod touch 2G]] [[iBoot-240.4|old bootrom]] and [[n88ap|iPhone 3GS]] [[iBoot-359.3|old bootrom]])
   
 
=== 3.1.2 ===
 
=== 3.1.2 ===
 
* [[Pwnage]] + [[Pwnage 2.0]] (together for [[untethered jailbreak]] on [[m68ap|iPhone]], [[n45ap|iPod touch]], and [[n82ap|iPhone 3G]])
 
* [[Pwnage]] + [[Pwnage 2.0]] (together for [[untethered jailbreak]] on [[m68ap|iPhone]], [[n45ap|iPod touch]], and [[n82ap|iPhone 3G]])
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak]] on [[n72ap|iPod touch 2G]] [[iBoot-250.5.1|new bootrom]], [[n88ap|iPhone 3GS]] [[iBoot-359.3.2|new bootrom]], and [[n18ap|iPod touch 3G]])
+
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak]] on [[n72ap|iPod touch 2G]] [[iBoot-240.5.1|new bootrom]], [[n88ap|iPhone 3GS]] [[iBoot-359.3.2|new bootrom]], and [[n18ap|iPod touch 3G]])
* [[0x24000 Segment Overflow]] + [[usb_control_msg(0x21, 2) Exploit]] ([[n72ap|iPod touch 2G]] [[iBoot-250.4|old bootrom]] and [[n88ap|iPhone 3GS]] [[iBoot-359.3|old bootrom]])
+
* [[0x24000 Segment Overflow]] + [[usb_control_msg(0x21, 2) Exploit]] ([[n72ap|iPod touch 2G]] [[iBoot-240.4|old bootrom]] and [[n88ap|iPhone 3GS]] [[iBoot-359.3|old bootrom]])
 
* [[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (all devices, used in [[Spirit]])
 
* [[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (all devices, used in [[Spirit]])
 
* [[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (all devices, used in [[Star]])
 
* [[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (all devices, used in [[Star]])

Revision as of 16:34, 28 August 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 / 1.1.5

Exploits which are used in order to jailbreak 2.x

2.0 / 2.0.1 / 2.0.2

2.1

2.1.1

2.2

2.2.1

Exploits which are used in order to jailbreak 3.x

3.0 / 3.0.1

3.1 / 3.1.1

3.1.2

3.1.3

3.2

3.2.1

3.2.2

Exploits which are used in order to jailbreak 4.x

4.0 / 4.0.1

4.0.2

4.1

4.2.1

4.2.6 / 4.2.7 / 4.2.8

4.3

4.3.1 / 4.3.2 / 4.3.3

4.3.4

4.3.5

Jailbreak Tools

Jailbreak/Apple TV 2G

Jailbreak/iPad

Jailbreak/iPad 2

Jailbreak/iPhone

Jailbreak/iPhone 3G

Jailbreak/iPhone 3GS

Jailbreak/iPhone 4 GSM

Jailbreak/iPhone 4 CDMA

Jailbreak/iPod touch

Jailbreak/iPod touch 2G

Jailbreak/iPod touch 3G

Jailbreak/iPod touch 4G