The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Bootrom"
(Oddly, both.) |
m (Updating) |
||
Line 2: | Line 2: | ||
== Old & New bootrom == |
== Old & New bootrom == |
||
− | Certain models, including the [[ |
+ | Certain models, including the [[N72AP|iPod touch 2G]] and [[N88AP|iPhone 3GS]], have different bootrom versions. These are most commonly referred to with the terms "old bootrom" and "new bootrom." These "new bootrom" devices were released after [[Timeline#September|9 September 2009]] and have the [[0x24000 Segment Overflow]] fixed. While the new bootrom revisions have an exploit, the exploit needs the assistance of a firmware-based exploit to achieve an [[untethered jailbreak]]. |
You might also be looking for [[iBoot (Bootloader)|Apple's stage 2 bootloader]], which also uses the "iBoot" name. |
You might also be looking for [[iBoot (Bootloader)|Apple's stage 2 bootloader]], which also uses the "iBoot" name. |
||
Line 9: | Line 9: | ||
==Finding bootrom version== |
==Finding bootrom version== |
||
− | ===From the model number ([[ |
+ | ===From the model number ([[N72AP|iPod touch 2G]])=== |
If the second character of your Model Number is "B" (e.g.- '''FB533''', '''MB533''', or '''PB533'''), your iPod has the old bootrom. If the second character is "C" ('''FC086''', '''MC086''' or '''PC086'''), your iPod has the new bootrom. |
If the second character of your Model Number is "B" (e.g.- '''FB533''', '''MB533''', or '''PB533'''), your iPod has the old bootrom. If the second character is "C" ('''FC086''', '''MC086''' or '''PC086'''), your iPod has the new bootrom. |
||
− | ===From the serial number ([[ |
+ | ===From the serial number ([[N88AP|iPhone 3GS]])=== |
The third digit of the serial number identifies the year of manufacture (9=2009, 0=2010, 1=2011, 2=2012), while the fourth and the fifth indicate the week. There is a gray area between week 40 of 2009 (??940??????) and week 45 of 2009 (??945??????) where some devices have new bootrom whilst others have old bootrom. . Any iPhone made after Week 45 of 2009 (??945?????? and higher or ??0???????? serials) has the new bootrom. |
The third digit of the serial number identifies the year of manufacture (9=2009, 0=2010, 1=2011, 2=2012), while the fourth and the fifth indicate the week. There is a gray area between week 40 of 2009 (??940??????) and week 45 of 2009 (??945??????) where some devices have new bootrom whilst others have old bootrom. . Any iPhone made after Week 45 of 2009 (??945?????? and higher or ??0???????? serials) has the new bootrom. |
||
Line 66: | Line 66: | ||
* [[Bootrom 2234.0.0.2.22]] in [[S8003]] |
* [[Bootrom 2234.0.0.2.22]] in [[S8003]] |
||
− | ===[[ |
+ | ===[[S5L8900]], used in the [[M68AP|iPhone]], [[N45AP|iPod touch]], and [[N82AP|iPhone 3G]]=== |
− | * [[Bootrom 2234.0.0.2.22]] |
||
− | |||
− | ===[[S5L8900]], used in the [[m68ap|iPhone]], [[n45ap|iPod touch]], and [[n82ap|iPhone 3G]]=== |
||
see also [[VROM (S5L8900)]] |
see also [[VROM (S5L8900)]] |
||
* [[Bootrom Rev.2]] |
* [[Bootrom Rev.2]] |
||
− | ===[[S5L8720]], used in the [[ |
+ | ===[[S5L8720]], used in the [[N72AP|iPod touch 2G]]=== |
* [[Bootrom 240.4]] "old bootrom" |
* [[Bootrom 240.4]] "old bootrom" |
||
* [[Bootrom 240.5.1]] "new bootrom" |
* [[Bootrom 240.5.1]] "new bootrom" |
||
− | ===[[S5L8920]], used in the [[ |
+ | ===[[S5L8920]], used in the [[N88AP|iPhone 3GS]]=== |
* [[Bootrom 359.3]] "old bootrom" |
* [[Bootrom 359.3]] "old bootrom" |
||
* [[Bootrom 359.3.2]] "new bootrom" |
* [[Bootrom 359.3.2]] "new bootrom" |
||
− | ===[[S5L8922]], used in the [[ |
+ | ===[[S5L8922]], used in the [[N18AP|iPod touch 3G]]=== |
* [[Bootrom 359.5]] |
* [[Bootrom 359.5]] |
||
− | ===[[S5L8930]], used in the [[ |
+ | ===[[S5L8930]], used in the [[K48AP|iPad]], [[N90AP|iPhone 4]], [[K66AP|Apple TV 2G]] and [[N81AP|iPod touch 4G]]=== |
* [[Bootrom 574.4]] |
* [[Bootrom 574.4]] |
||
− | ===[[S5L8940]], used in the [[iPad 2]] and [[ |
+ | ===[[S5L8940]], used in the [[iPad 2]] and [[N94AP|iPhone 4S]]=== |
* [[Bootrom 838.3]] |
* [[Bootrom 838.3]] |
||
− | ===[[S5L8942]], used in the [[ |
+ | ===[[S5L8942]], used in the [[K93AAP|iPad 2 (iPad2,4)]], [[J33AP|Apple TV 3G (AppleTV3,1)]], [[iPod touch 5G]], [[iPad mini 1G]] === |
* ROM |
* ROM |
||
<!-- |
<!-- |
||
− | * Apple TV 3G ( |
+ | * Apple TV 3G (J33) does not print Bootrom revision over USB Descriptor while in DFU. |
e.g CPID:8942_CPRV:10_CPFM:03_SCEP:10_BDID:08_ECID:00000XXXXXXXXXXX_IBFL:00_SRTG:[ROM] |
e.g CPID:8942_CPRV:10_CPFM:03_SCEP:10_BDID:08_ECID:00000XXXXXXXXXXX_IBFL:00_SRTG:[ROM] |
||
Line 101: | Line 98: | ||
* [[Bootrom 1062.2]] |
* [[Bootrom 1062.2]] |
||
− | ===[[S5L8947]], used in the [[ |
+ | ===[[S5L8947]], used in the [[J33IAP|Apple TV 3G (AppleTV3,2)]]=== |
* ROM |
* ROM |
||
Line 113: | Line 110: | ||
* [[Bootrom 1704.10]] |
* [[Bootrom 1704.10]] |
||
− | ===[[T7000]], used in the [[ |
+ | ===[[T7000]], used in the [[J42dAP|Apple TV 4G]], [[iPad mini 4]], [[N61AP|iPhone 6]], [[N56AP|iPhone 6 Plus]] and [[N102AP|iPod touch 6G]]=== |
* [[Bootrom 1992.0.0.1.19]] |
* [[Bootrom 1992.0.0.1.19]] |
||
Line 127: | Line 124: | ||
===[[S8003]], used in the [[iPhone 6s]] and [[iPhone 6s Plus]]=== |
===[[S8003]], used in the [[iPhone 6s]] and [[iPhone 6s Plus]]=== |
||
* [[Bootrom 2234.0.0.2.22]] |
* [[Bootrom 2234.0.0.2.22]] |
||
+ | |||
== References == |
== References == |
Revision as of 11:24, 10 October 2015
The bootrom (called "SecureROM" by Apple) is the first significant code that runs on an iDevice. The bootrom is read-only. Finding exploits in the bootrom level is a big achievement since Apple won't be able to fix it without a hardware revision.
Contents
- 1 Old & New bootrom
- 2 Finding bootrom version
- 3 Dumping the bootrom
- 4 Bootrom Exploits
- 5 Revisions
- 5.1 S5L8900, used in the iPhone, iPod touch, and iPhone 3G
- 5.2 S5L8720, used in the iPod touch 2G
- 5.3 S5L8920, used in the iPhone 3GS
- 5.4 S5L8922, used in the iPod touch 3G
- 5.5 S5L8930, used in the iPad, iPhone 4, Apple TV 2G and iPod touch 4G
- 5.6 S5L8940, used in the iPad 2 and iPhone 4S
- 5.7 S5L8942, used in the iPad 2 (iPad2,4), Apple TV 3G (AppleTV3,1), iPod touch 5G, iPad mini 1G
- 5.8 S5L8945, used in the iPad 3
- 5.9 S5L8947, used in the Apple TV 3G (AppleTV3,2)
- 5.10 S5L8950, used in the iPhone 5 and iPhone 5c
- 5.11 S5L8955, used in the iPad 4
- 5.12 S5L8960/S5L8965, used in the iPhone 5s, iPad Air, and iPad mini 2
- 5.13 T7000, used in the Apple TV 4G, iPad mini 4, iPhone 6, iPhone 6 Plus and iPod touch 6G
- 5.14 T7001, used in the iPad Air 2 and iPad mini 3
- 5.15 S7002, used in the Apple Watch
- 5.16 S8000, used in the iPhone 6s and iPhone 6s Plus
- 5.17 S8003, used in the iPhone 6s and iPhone 6s Plus
- 6 References
Old & New bootrom
Certain models, including the iPod touch 2G and iPhone 3GS, have different bootrom versions. These are most commonly referred to with the terms "old bootrom" and "new bootrom." These "new bootrom" devices were released after 9 September 2009 and have the 0x24000 Segment Overflow fixed. While the new bootrom revisions have an exploit, the exploit needs the assistance of a firmware-based exploit to achieve an untethered jailbreak.
You might also be looking for Apple's stage 2 bootloader, which also uses the "iBoot" name.
Usually also looking at the CPRV (Chip Revision) tag will also tell you whether the device is new unit or not also.
Finding bootrom version
From the model number (iPod touch 2G)
If the second character of your Model Number is "B" (e.g.- FB533, MB533, or PB533), your iPod has the old bootrom. If the second character is "C" (FC086, MC086 or PC086), your iPod has the new bootrom.
From the serial number (iPhone 3GS)
The third digit of the serial number identifies the year of manufacture (9=2009, 0=2010, 1=2011, 2=2012), while the fourth and the fifth indicate the week. There is a gray area between week 40 of 2009 (??940??????) and week 45 of 2009 (??945??????) where some devices have new bootrom whilst others have old bootrom. . Any iPhone made after Week 45 of 2009 (??945?????? and higher or ??0???????? serials) has the new bootrom.
From the DFU Device descriptors (all devices except S5L8900)
Windows
- Connect Device & Enter DFU Mode
- Open Device Manager, find USB controller, subitem Apple Mobile Device USB Driver
- Right-Click & click Properties
- Go to Details tab & select Device Instance Path in the dropdown box
- The end of the info string will show the bootrom version
Mac OS X
- Connect Device & Enter DFU Mode
- Go to System Profiler, and under the Hardware category, go to USB, and click on Apple Mobile Device (DFU Mode)
- The end of the Serial Number string will show the bootrom version in brackets (ie: [iBoot-574.4])
Linux
- Make sure your distribution has usbutils installed. (most distributions have it by default)
- Connect Device & Enter DFU Mode
- In terminal, run sudo lsusb -v
- Find the line that says iSerial and your bootrom version will be at the end of the line.
Dumping the bootrom
You can use Bootrom Dumper Utility by pod2g to dump the bootrom on devices that are vulnerable to the Limera1n Exploit.
Bootrom Exploits
- Pwnage 1.0 (Ramdisk + AppleImage2NORAccess) up to Rev.2
- Pwnage 2.0 (DFU + Malformed Certificate) up to Rev.2
- 0x24000 Segment Overflow up to 240.4/359.3
- usb_control_msg(0xA1, 1) Exploit (also called "steaks4uce" exploit) only for 240.4 and 240.5.1
- Limera1n Exploit up to 574.4
- SHAtter up to 574.4
Revisions
- Bootrom Rev.2 in S5L8900
- Bootrom 240.4 in S5L8720 (old version only)
- Bootrom 359.3 in S5L8920 (old version only)
- Bootrom 240.5.1 in S5L8720 (new version only)
- Bootrom 359.3.2 in S5L8920 (new version only)
- Bootrom 359.5 in S5L8922
- Bootrom 574.4 in S5L8930
- Bootrom 838.3 in S5L8940
- ROM in S5L8942
- Bootrom 1062.2 in S5L8945
- ROM in S5L8947
- Bootrom 1145.3 in S5L8950
- Bootrom 1145.3.3 in S5L8955
- Bootrom 1704.10 in S5L8960 and S5L8965
- Bootrom 1992.0.0.1.19 in T7000
- Bootrom 1991.0.0.2.16 in T7001
- unknown S7002
- Bootrom 2234.0.0.3.3 in S8000
- Bootrom 2234.0.0.2.22 in S8003
S5L8900, used in the iPhone, iPod touch, and iPhone 3G
see also VROM (S5L8900)
S5L8720, used in the iPod touch 2G
- Bootrom 240.4 "old bootrom"
- Bootrom 240.5.1 "new bootrom"
S5L8920, used in the iPhone 3GS
- Bootrom 359.3 "old bootrom"
- Bootrom 359.3.2 "new bootrom"
S5L8922, used in the iPod touch 3G
S5L8930, used in the iPad, iPhone 4, Apple TV 2G and iPod touch 4G
S5L8940, used in the iPad 2 and iPhone 4S
S5L8942, used in the iPad 2 (iPad2,4), Apple TV 3G (AppleTV3,1), iPod touch 5G, iPad mini 1G
- ROM
S5L8945, used in the iPad 3
S5L8947, used in the Apple TV 3G (AppleTV3,2)
- ROM
S5L8950, used in the iPhone 5 and iPhone 5c
S5L8955, used in the iPad 4
S5L8960/S5L8965, used in the iPhone 5s, iPad Air, and iPad mini 2
T7000, used in the Apple TV 4G, iPad mini 4, iPhone 6, iPhone 6 Plus and iPod touch 6G
T7001, used in the iPad Air 2 and iPad mini 3
S7002, used in the Apple Watch
- unknown
S8000, used in the iPhone 6s and iPhone 6s Plus
S8003, used in the iPhone 6s and iPhone 6s Plus