The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Jailbreak"
(→Userland (used for all devices): Star didn't exploit the PDF renderer, and mentioned the other two exploits. Feel free to change the names.) |
m |
||
Line 7: | Line 7: | ||
==Exploits which were used in order to jailbreak (in chronological order)== |
==Exploits which were used in order to jailbreak (in chronological order)== |
||
=== 1.0.2 === |
=== 1.0.2 === |
||
− | * [[Restore Mode]] (iBoot had a command named cp, which had access to the whole filesystem) |
+ | * [[Restore Mode]] ([[iBoot]] had a command named cp, which had access to the whole filesystem) |
=== 1.1.1 === |
=== 1.1.1 === |
||
* [[Symlinks]] (an upgrade jailbreak) |
* [[Symlinks]] (an upgrade jailbreak) |
||
− | * [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[ |
+ | * [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[JailbreakMe]]) |
=== 1.1.2 === |
=== 1.1.2 === |
||
* [[Mknod]] (an upgrade jailbreak) |
* [[Mknod]] (an upgrade jailbreak) |
||
Line 28: | Line 28: | ||
===[[N72ap|iPod touch 2G]]=== |
===[[N72ap|iPod touch 2G]]=== |
||
* [[ARM7 Go]] (used by [[tethered jailbreak]]s) |
* [[ARM7 Go]] (used by [[tethered jailbreak]]s) |
||
− | * [[0x24000 Segment Overflow]] (used on |
+ | * [[0x24000 Segment Overflow]] (used on "MB" models for an [[untethered jailbreak]]) |
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for "MC" models) |
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for "MC" models) |
||
+ | *[[usb_control_msg(0xA1, 1) Exploit]] (used for a [[tethered jailbreak]] on "MC" models) |
||
===[[N88ap|iPhone 3GS]]=== |
===[[N88ap|iPhone 3GS]]=== |
Revision as of 04:51, 22 September 2010
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 (in chronological order)
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 and above
Userland (used for all devices)
- MobileBackup Copy Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (together for Spirit)
- CFF Parser Stack Overflow + Incomplete Codesign Exploit + IOSurface Integer Overflow (together for Star)
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 "MC" models)
- usb_control_msg(0xA1, 1) Exploit (used for a tethered jailbreak on "MC" models)
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)