<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cody</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cody"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Cody"/>
	<updated>2026-05-28T11:33:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware_Keys&amp;diff=25896</id>
		<title>Firmware Keys</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware_Keys&amp;diff=25896"/>
		<updated>2012-06-12T05:41:02Z</updated>

		<summary type="html">&lt;p&gt;Cody: /* 5.x */ added in dates for releases&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''VFDecrypt Keys''' are the keys which can decrypt the files that come with the [[firmware]]. Apple uses a public-private key encryption to ensure the safety of their files. Over time Apple has changed the way to encrypt firmware files, thus the way to decrypt files as well as the way to get the VFDecrypt Keys has also. &lt;br /&gt;
&lt;br /&gt;
[[S5L File Formats#IMG2|IMG2]] was the file format used prior to iOS 2.0. For iOS 1.1.x, IMG2 files were encrypted with Key 0x837. &lt;br /&gt;
&lt;br /&gt;
[[IMG3 File Format|IMG3]] encrypted files contain encrypted versions of the VFDecrypt Keys as part of the [[KBAG]] (key bag). These can be decrypted with the [[GID-key]]. For jailbroken iDevices the VFDecrypt keys can be retrieved with the devices [[AES Keys|hardware AES engine]]. The VFDecrypt key for the root filesystem image of an iDevice (~500 MB to 800MB in the case of iOS 5) requires either a decrypted [[Restore Ramdisk]] or [[Update Ramdisk]]. Once you have a decrypted Restore or Update Ramdisk, [[GenPass]] can be used to gather the keys for the root filesystem. &lt;br /&gt;
For the root filesystem there is one key per device model, with no IV. You can mount this once it has been decrypted using your program of choice. (For example, 7-zip on Windows (after extracting the DMG on Windows, extract the biggest file with [[Wikipedia:7-Zip|7-Zip]])&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
The Update Ramdisk and Restore Ramdisks share the same IV and key per type of Application Processor. The current models are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;font-size: smaller; text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; | Application Processor&lt;br /&gt;
! width=&amp;quot;200&amp;quot; | iDevice&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8900]]&lt;br /&gt;
| [[M68ap|iPhone]], [[N82ap|iPhone 3G]], [[N45ap|iPod touch]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8720]]&lt;br /&gt;
| [[M68ap|iPhone]], [[N72ap|iPod touch 2G]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8920]]&lt;br /&gt;
| [[N88ap|iPhone 3GS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8922]]&lt;br /&gt;
| [[N18ap|iPod touch 3G]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8930]] (A4)&lt;br /&gt;
| [[K48ap|iPad]], [[iPhone 4]], [[N81ap|iPod touch 4G]], [[K66ap|Apple TV 2G]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8940]] (A5)&lt;br /&gt;
| [[iPad 2]], [[N94ap|iPhone 4S]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8942]] (revised A5)&lt;br /&gt;
| [[k93aap|iPad 2 Wi-Fi R2]], [[J33ap|Apple TV 3G]]&lt;br /&gt;
|-&lt;br /&gt;
| [[S5L8945]] (A5X)&lt;br /&gt;
| [[iPad 3]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can use [[img3decrypt]][http://code.google.com/p/img3decrypt/] or [[xpwntool]][http://github.com/planetbeing/xpwn/tree/master] to decrypt these as described in [[Ramdisk Decryption]]. Once done, mount or extract using the tool of your choice.&lt;br /&gt;
&lt;br /&gt;
When posting a key page, please use the [[Template:Keys|key template]] ('''IN THE CORRECT ORDER''') and do '''NOT''' [[Wikipedia:WP:SUBST|substitute]] it.&lt;br /&gt;
&lt;br /&gt;
For the VFDecrypt Keys of each firmware please check the builds listed at the appropiate firmware version page.&lt;br /&gt;
&lt;br /&gt;
== Firmware versions ==&lt;br /&gt;
=== Final ===&lt;br /&gt;
{{main|Firmware}}&lt;br /&gt;
==== 1.x ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Build&lt;br /&gt;
! [[m68ap|iPhone]]&lt;br /&gt;
! [[n45ap|iPod touch 1G]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1A420&lt;br /&gt;
| [[Alpine 1A420 (iPhone)|1.0]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1A543a&lt;br /&gt;
| [[Heavenly 1A543a (iPhone)|1.0.0]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1C25&lt;br /&gt;
| [[Heavenly 1C25 (iPhone)|1.0.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1C28&lt;br /&gt;
| [[Heavenly 1C28 (iPhone)|1.0.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 3A100a&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Snowbird 3A100a (iPod touch)|1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 3A101a&lt;br /&gt;
| [[Snowbird 3A101a (iPod touch)|1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 3A109a&lt;br /&gt;
| [[Snowbird 3A109a (iPhone)|1.1.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 3A110a&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Snowbird 3A110a (iPod touch)|1.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 3B48b&lt;br /&gt;
| [[Oktoberfest 3B48b (iPhone)|1.1.2]]&lt;br /&gt;
| [[Oktoberfest 3B48b (iPod touch)|1.1.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 4A93&lt;br /&gt;
| [[Little Bear 4A93 (iPhone)|1.1.3]]&lt;br /&gt;
| [[Little Bear 4A93 (iPod touch)|1.1.3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 4A102&lt;br /&gt;
| [[Little Bear 4A102 (iPhone)|1.1.4]]&lt;br /&gt;
| [[Little Bear 4A102 (iPod touch)|1.1.4]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 4B1&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Little Bear 4B1 (iPod touch)|1.1.5]]&lt;br /&gt;
|}&lt;br /&gt;
==== 2.x ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Build&lt;br /&gt;
! [[m68ap|iPhone]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n45ap|iPod touch 1G]]&lt;br /&gt;
! [[n72ap|iPod touch 2G]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A345&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Big Bear 5A345 (iPhone 3G)|2.0]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A347&lt;br /&gt;
| [[Big Bear 5A347 (iPhone)|2.0]]&lt;br /&gt;
| [[Big Bear 5A347 (iPhone 3G)|2.0]]&lt;br /&gt;
| [[Big Bear 5A347 (iPod touch)|2.0]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5B108&lt;br /&gt;
| [[Big Bear 5B108 (iPhone)|2.0.1]]&lt;br /&gt;
| [[Big Bear 5B108 (iPhone 3G)|2.0.1]]&lt;br /&gt;
| [[Big Bear 5B108 (iPod touch)|2.0.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5C1&lt;br /&gt;
| [[Big Bear 5C1 (iPhone)|2.0.2]]&lt;br /&gt;
| [[Big Bear 5C1 (iPhone 3G)|2.0.2]]&lt;br /&gt;
| [[Big Bear 5C1 (iPod touch)|2.0.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5F136&lt;br /&gt;
| [[Sugar Bowl 5F136 (iPhone)|2.1]]&lt;br /&gt;
| [[Sugar Bowl 5F136 (iPhone 3G)|2.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5F137&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Sugar Bowl 5F137 (iPod touch)|2.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5F138&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Sugar Bowl 5F138 (iPod touch 2G)|2.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5G77&lt;br /&gt;
| [[Timberline 5G77 (iPhone)|2.2]]&lt;br /&gt;
| [[Timberline 5G77 (iPhone 3G)|2.2]]&lt;br /&gt;
| [[Timberline 5G77 (iPod touch)|2.2]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5G77a&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| [[Timberline 5G77a (iPod touch 2G)|2.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5H11&lt;br /&gt;
| [[SUTimberline 5H11 (iPhone)|2.2.1]]&lt;br /&gt;
| [[SUTimberline 5H11 (iPhone 3G)|2.2.1]]&lt;br /&gt;
| [[SUTimberline 5H11 (iPod touch)|2.2.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5H11a&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| [[SUTimberline 5H11a (iPod touch 2G)|2.2.1]]&lt;br /&gt;
|}&lt;br /&gt;
==== 3.x ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Build&lt;br /&gt;
! [[k48ap|iPad]]&lt;br /&gt;
! [[m68ap|iPhone]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n45ap|iPod touch 1G]]&lt;br /&gt;
! [[n72ap|iPod touch 2G]]&lt;br /&gt;
! [[n18ap|iPod touch 3G]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A341&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | Unavailable&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|3.0]]&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|3.0]]&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|3.0]]&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch)|3.0]]&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|3.0]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A400&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|3.0.1]]&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|3.0.1]]&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3GS)|3.0.1]]&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C144&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|3.1]]&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|3.1]]&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|3.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C145&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| [[Northstar 7C145 (iPod touch)|3.1.1]]&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|3.1.1]]&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|3.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C146&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Northstar 7C146 (iPod touch 3G)|3.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7D11&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|3.1.2]]&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|3.1.2]]&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|3.1.2]]&lt;br /&gt;
| [[Northstar 7D11 (iPod touch)|3.1.2]]&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|3.1.2]]&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|3.1.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7E18&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|3.1.3]]&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|3.1.3]]&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|3.1.3]]&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch)|3.1.3]]&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|3.1.3]]&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 3G)|3.1.3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7B367&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|3.2]]&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; rowspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7B405&lt;br /&gt;
| [[Wildcat 7B405 (iPad)|3.2.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7B500&lt;br /&gt;
| [[Wildcat 7B500 (iPad)|3.2.2]]&lt;br /&gt;
|}&lt;br /&gt;
==== 4.x ====&lt;br /&gt;
Please note that for the Apple TV the firmware listed in this table is the one that your Apple TV reports. See also [[Apple TV Firmware Versions]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date (YYYY/MM/DD)&lt;br /&gt;
! Build&lt;br /&gt;
! [[k66ap|Apple TV 2G]]&lt;br /&gt;
! [[k48ap|iPad]]&lt;br /&gt;
! [[k93ap|iPad 2 (Wi-Fi)]]&lt;br /&gt;
! [[k94ap|iPad 2 (GSM)]]&lt;br /&gt;
! [[k95ap|iPad 2 (CDMA)]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n90ap|iPhone 4 (GSM)]]&lt;br /&gt;
! [[n92ap|iPhone 4 (CDMA)]]&lt;br /&gt;
! [[n72ap|iPod touch 2G]]&lt;br /&gt;
! [[n18ap|iPod touch 3G]]&lt;br /&gt;
! [[n81ap|iPod touch 4G]]&lt;br /&gt;
|-&lt;br /&gt;
| 2010/09/01&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8M89&lt;br /&gt;
| [[Mojave 8M89 (Apple TV 2G)|4.0]]&lt;br /&gt;
| colspan=&amp;quot;11&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A293&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | Unavailable&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|4.0]]&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|4.0]]&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|4.0]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|4.0]]&lt;br /&gt;
| [[Apex 8A293 (iPod touch 3G)|4.0]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A306&lt;br /&gt;
| [[Apex 8A306 (iPhone 3G)|4.0.1]]&lt;br /&gt;
| [[Apex 8A306 (iPhone 3GS)|4.0.1]]&lt;br /&gt;
| [[Apex 8A306 (iPhone 4)|4.0.1]]&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A400&lt;br /&gt;
| [[Apex 8A400 (iPhone 3G)|4.0.2]]&lt;br /&gt;
| [[Apex 8A400 (iPhone 3GS)|4.0.2]]&lt;br /&gt;
| [[Apex 8A400 (iPhone 4)|4.0.2]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Apex 8A400 (iPod touch 2G)|4.0.2]]&lt;br /&gt;
| [[Apex 8A400 (iPod touch 3G)|4.0.2]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8B117&lt;br /&gt;
| [[Baker 8B117 (iPhone 3G)|4.1]]&lt;br /&gt;
| [[Baker 8B117 (iPhone 3GS)|4.1]]&lt;br /&gt;
| [[Baker 8B117 (iPhone 4)|4.1]]&lt;br /&gt;
| [[Baker 8B117 (iPod touch 2G)|4.1]]&lt;br /&gt;
| [[Baker 8B117 (iPod touch 3G)|4.1]]&lt;br /&gt;
| [[Baker 8B117 (iPod touch 4G)|4.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8B118&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | Unavailable&lt;br /&gt;
| [[Baker 8B118 (iPod touch 4G)|4.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C148&lt;br /&gt;
| [[Jasper 8C148 (iPad)|4.2.1]]&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| [[Jasper 8C148 (iPhone 3G)|4.2.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Jasper 8C148 (iPhone 4)|4.2.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 2G)|4.2.1]]&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 3G)|4.2.1]]&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 4G)|4.2.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C148a&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Unavailable&lt;br /&gt;
| [[Jasper 8C148a (iPhone 3GS)|4.2.1]]&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2010/11/22&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C150&lt;br /&gt;
| [[Jasper 8C150 (Apple TV 2G)|4.1]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;11&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2010/12/14&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C154&lt;br /&gt;
| [[Jasper 8C154 (Apple TV 2G)|4.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E128&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; rowspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
| [[Phoenix 8E128 (iPhone 4 CDMA)|4.2.5]]&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E200&lt;br /&gt;
| [[Phoenix 8E200 (iPhone 4 CDMA)|4.2.6]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E303&lt;br /&gt;
| [[Phoenix 8E303 (iPhone 4 CDMA)|4.2.7]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E401&lt;br /&gt;
| [[Phoenix 8E401 (iPhone 4 CDMA)|4.2.8]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E501&lt;br /&gt;
| [[Phoenix 8E501 (iPhone 4 CDMA)|4.2.9]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8E600&lt;br /&gt;
| [[Phoenix 8E600 (iPhone 4 CDMA)|4.2.10]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F190&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Durango 8F190 (iPad)|4.3]]&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| rowspan=&amp;quot;14&amp;quot; | Unavailable&lt;br /&gt;
| [[Durango 8F190 (iPhone 3GS)|4.3]]&lt;br /&gt;
| [[Durango 8F190 (iPhone 4)|4.3]]&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;14&amp;quot; | Unavailable&lt;br /&gt;
| [[Durango 8F190 (iPod touch 3G)|4.3]]&lt;br /&gt;
| [[Durango 8F190 (iPod touch 4G)|4.3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F191&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Durango 8F191 (iPad 2 Wi-Fi)|4.3]]&lt;br /&gt;
| [[Durango 8F191 (iPad 2 GSM)|4.3]]&lt;br /&gt;
| [[Durango 8F191 (iPad 2 CDMA)|4.3]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/03/11&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F191m&lt;br /&gt;
| [[Durango 8F191m (Apple TV 2G)|4.2]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/03/22&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F202&lt;br /&gt;
| [[Durango 8F202 (Apple TV 2G)|4.2.1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/03/11&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F305&lt;br /&gt;
| [[Durango 8F305 (Apple TV 2G)|4.2.2]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/08/01&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F455&lt;br /&gt;
| [[DurangoTideCuba 8F455 (Apple TV 2G)|4.3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8G4&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | Unavailable&lt;br /&gt;
| [[Durango 8G4 (iPad)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPad 2 Wi-Fi)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPad 2 GSM)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPad 2 CDMA)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPhone 3GS)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPhone 4)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPod touch 3G)|4.3.1]]&lt;br /&gt;
| [[Durango 8G4 (iPod touch 4G)|4.3.1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8H7&lt;br /&gt;
| [[Durango 8H7 (iPad)|4.3.2]]&lt;br /&gt;
| [[Durango 8H7 (iPad 2 Wi-Fi)|4.3.2]]&lt;br /&gt;
| [[Durango 8H7 (iPad 2 GSM)|4.3.2]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Durango 8H7 (iPhone 3GS)|4.3.2]]&lt;br /&gt;
| [[Durango 8H7 (iPhone 4)|4.3.2]]&lt;br /&gt;
| [[Durango 8H7 (iPod touch 3G)|4.3.2]]&lt;br /&gt;
| [[Durango 8H7 (iPod touch 4G)|4.3.2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8H8&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| [[Durango 8H8 (iPad 2 CDMA)|4.3.2]]&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8J2&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Durango 8J2 (iPad 2 Wi-Fi)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPad 2 GSM)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPad 2 CDMA)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPhone 3GS)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPhone 4)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPod touch 3G)|4.3.3]]&lt;br /&gt;
| [[Durango 8J2 (iPod touch 4G)|4.3.3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8J3&lt;br /&gt;
| [[Durango 8J3 (iPad)|4.3.3]]&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | Unavailable&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8K2&lt;br /&gt;
| [[Durango 8K2 (iPad)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPad 2 Wi-Fi)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPad 2 GSM)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPad 2 CDMA)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPhone 3GS)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPhone 4)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPod touch 3G)|4.3.4]]&lt;br /&gt;
| [[Durango 8K2 (iPod touch 4G)|4.3.4]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8L1&lt;br /&gt;
| [[Durango 8L1 (iPad)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPad 2 Wi-Fi)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPad 2 GSM)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPad 2 CDMA)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPhone 3GS)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPhone 4)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPod touch 3G)|4.3.5]]&lt;br /&gt;
| [[Durango 8L1 (iPod touch 4G)|4.3.5]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 5.x ====&lt;br /&gt;
Please note that for the Apple TV the firmware listed in this table is the one that your Apple TV reports. See also [[Apple TV Firmware Versions]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date (YYYY/MM/DD)&lt;br /&gt;
! Build&lt;br /&gt;
! [[k66ap|Apple TV 2G]]&lt;br /&gt;
! [[j33ap|Apple TV 3G]]&lt;br /&gt;
! [[k48ap|iPad]]&lt;br /&gt;
! [[k93ap|iPad 2 (Wi-Fi)]]&lt;br /&gt;
! [[k94ap|iPad 2 (GSM)]]&lt;br /&gt;
! [[k95ap|iPad 2 (CDMA)]]&lt;br /&gt;
! [[k93aap|iPad 2 R2]]&lt;br /&gt;
! [[j1ap|iPad 3 (Wi-Fi)]]&lt;br /&gt;
! [[j2ap|iPad 3 (CDMA)]]&lt;br /&gt;
! [[j2aap|iPad 3 (Global)]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n90ap|iPhone 4 (GSM)]]&lt;br /&gt;
! [[n92ap|iPhone 4 (CDMA)]]&lt;br /&gt;
! [[n94ap|iPhone 4S]]&lt;br /&gt;
! [[n18ap|iPod touch 3G]]&lt;br /&gt;
! [[n81ap|iPod touch 4G]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/10/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A334&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Telluride 9A334 (iPad)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 Wi-Fi)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 GSM)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 CDMA)|5.0]]&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
| [[Telluride 9A334 (iPhone 3GS)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 4)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 4 CDMA)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 4S)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPod touch 3G)|5.0]]&lt;br /&gt;
| [[Telluride 9A334 (iPod touch 4G)|5.0]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/10/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A334v&lt;br /&gt;
| [[Telluride 9A334v (Apple TV 2G)|4.4]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; colspan=&amp;quot;15&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/10/18&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A335a&lt;br /&gt;
| [[Telluride 9A335a (Apple TV 2G)|4.4.1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/11/02&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A336a&lt;br /&gt;
| [[Telluride 9A336a (Apple TV 2G)|4.4.2]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/11/10&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A405&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Telluride 9A405 (iPad)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPad 2 Wi-Fi)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPad 2 GSM)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPad 2 CDMA)|5.0.1]]&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
| [[Telluride 9A405 (iPhone 3GS)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPhone 4)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPhone 4 CDMA)|5.0.1]]&lt;br /&gt;
| [[Telluride 9A405 (iPhone 4S)|5.0.1]]&lt;br /&gt;
| [[Telluride_9A405 (iPod touch 3G)|5.0.1]]&lt;br /&gt;
| [[Telluride_9A405 (iPod touch 4G)|5.0.1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/11/17&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A405l&lt;br /&gt;
| [[Telluride 9A405l (Apple TV 2G)|4.4.3]]&lt;br /&gt;
| colspan=&amp;quot;15&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/12/15&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A406&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | Unavailable&lt;br /&gt;
| [[Telluride 9A406 (iPhone 4S)|5.0.1]]&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/12/15&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A406a&lt;br /&gt;
| [[Telluride 9A406a (Apple TV 2G)|4.4.4]]&lt;br /&gt;
| colspan=&amp;quot;15&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2012/03/07&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B176&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Hoodoo 9B176 (iPad)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 2 Wi-Fi)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 2 GSM)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 2 CDMA)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 2 R2)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 3 Wi-Fi)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 3 CDMA)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPad 3 Global)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPhone 3GS)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPhone 4)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPhone 4 CDMA)|5.1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Hoodoo 9B176 (iPod touch 3G)|5.1]]&lt;br /&gt;
| [[Hoodoo 9B176 (iPod touch 4G)|5.1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2012/03/07&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B179&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | Unavailable&lt;br /&gt;
| [[Hoodoo 9B179 (iPhone 4S)|5.1]]&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2012/03/07&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B179b&lt;br /&gt;
| [[Hoodoo 9B179b (Apple TV 2G)|5.0]]&lt;br /&gt;
| [[Hoodoo 9B179b (Apple TV 3G)|5.0]]&lt;br /&gt;
| colspan=&amp;quot;14&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2012/05/10&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B206&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[Hoodoo 9B206 (iPad)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 2 Wi-Fi)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 2 GSM)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 2 CDMA)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 2 R2)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 3 Wi-Fi)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 3 CDMA)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPad 3 Global)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPhone 3GS)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPhone 4)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPhone 4 CDMA)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPhone 4S)|5.1.1]]&lt;br /&gt;
| [[Hoodoo_9B206 (iPod touch 3G)|5.1.1]]&lt;br /&gt;
| [[Hoodoo 9B206 (iPod touch 4G)|5.1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2012/05/10&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B206f&lt;br /&gt;
| [[Hoodoo 9B206f (Apple TV 2G)|5.0.1]]&lt;br /&gt;
| [[Hoodoo 9B206f (Apple TV 3G)|5.0.1]]&lt;br /&gt;
| colspan=&amp;quot;14&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2012/05/25&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B208&lt;br /&gt;
| colspan=&amp;quot;11&amp;quot; | Unavailable&lt;br /&gt;
| [[Hoodoo 9B208 (iPhone 4)|5.1.1]]&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2012/06/05&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B830&lt;br /&gt;
| [[HoodooTide 9B830 (Apple TV 2G)|5.0.2]]&lt;br /&gt;
| [[HoodooTide 9B830 (Apple TV 3G)|5.0.2]]&lt;br /&gt;
| colspan=&amp;quot;14&amp;quot; | Unavailable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Beta ===&lt;br /&gt;
{{main|Beta Firmware}}&lt;br /&gt;
==== 1.x/2.x ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Build&lt;br /&gt;
! [[m68ap|iPhone]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n45ap|iPod touch]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A147p&lt;br /&gt;
| [[Big Bear 5A147p (iPhone)|1.2b1]]&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Unavailable&lt;br /&gt;
| [[Big Bear 5A147p (iPod touch)|1.2b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A225c&lt;br /&gt;
| [[Big Bear 5A225c (iPhone)|2.0b2]]&lt;br /&gt;
| [[Big Bear 5A225c (iPod touch)|2.0b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A240d&lt;br /&gt;
| [[Big Bear 5A240d (iPhone)|2.0b3]]&lt;br /&gt;
| [[Big Bear 5A240d (iPod touch)|2.0b3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A258f&lt;br /&gt;
| [[Big Bear 5A258f (iPhone)|2.0b4]]&lt;br /&gt;
| [[Big Bear 5A258f (iPod touch)|2.0b4]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A274d&lt;br /&gt;
| [[Big Bear 5A274d (iPhone)|2.0b5]]&lt;br /&gt;
| [[Big Bear 5A274d (iPod touch)|2.0b5]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A292g&lt;br /&gt;
| [[Big Bear 5A292g (iPhone)|2.0b6P]]&lt;br /&gt;
| [[Big Bear 5A292g (iPod touch)|2.0b6P]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A308&lt;br /&gt;
| [[Big Bear 5A308 (iPhone)|2.0b6F]]&lt;br /&gt;
| [[Big Bear 5A308 (iPod touch)|2.0b6F]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A331&lt;br /&gt;
| [[Big Bear 5A331 (iPhone)|2.0b7]]&lt;br /&gt;
| [[Big Bear 5A331 (iPod touch)|2.0b7]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5A345&lt;br /&gt;
| [[Big Bear 5A345 (iPhone)|2.0b8GM]]&lt;br /&gt;
| [[Big Bear 5A345 (iPod touch)|2.0b8GM]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5F90&lt;br /&gt;
| [[Sugar Bowl 5F90 (iPhone)|2.1b1]]&lt;br /&gt;
| [[Sugar Bowl 5F90 (iPod touch)|2.1b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 5G26&lt;br /&gt;
| [[Sugar Bowl 5G26 (iPhone)|2.2b1]]&lt;br /&gt;
| [[Sugar Bowl 5G26 (iPhone 3G)|2.2b1]]&lt;br /&gt;
| [[Sugar Bowl 5G26 (iPod touch)|2.2b1]]&lt;br /&gt;
|}&lt;br /&gt;
==== 3.x ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Build&lt;br /&gt;
! [[m68ap|iPhone]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n45ap|iPod touch]]&lt;br /&gt;
! [[n72ap|iPod touch 2G]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A238j&lt;br /&gt;
| [[Kirkwood 7A238j (iPhone)|3.0b1]]&lt;br /&gt;
| [[Kirkwood 7A238j (iPhone 3G)|3.0b1]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Unavailable&lt;br /&gt;
| [[Kirkwood 7A238j (iPod touch)|3.0b1]]&lt;br /&gt;
| [[Kirkwood 7A238j (iPod touch 2G)|3.0b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A259g&lt;br /&gt;
| [[Kirkwood 7A259g (iPhone)|3.0b2]]&lt;br /&gt;
| [[Kirkwood 7A259g (iPhone 3G)|3.0b2]]&lt;br /&gt;
| [[Kirkwood 7A259g (iPod touch)|3.0b2]]&lt;br /&gt;
| [[Kirkwood 7A259g (iPod touch 2G)|3.0b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A280f&lt;br /&gt;
| [[Kirkwood 7A280f (iPhone)|3.0b3]]&lt;br /&gt;
| [[Kirkwood 7A280f (iPhone 3G)|3.0b3]]&lt;br /&gt;
| [[Kirkwood 7A280f (iPod touch)|3.0b3]]&lt;br /&gt;
| [[Kirkwood 7A280f (iPod touch 2G)|3.0b3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A300g&lt;br /&gt;
| [[Kirkwood 7A300g (iPhone)|3.0b4]]&lt;br /&gt;
| [[Kirkwood 7A300g (iPhone 3G)|3.0b4]]&lt;br /&gt;
| [[Kirkwood 7A300g (iPod touch)|3.0b4]]&lt;br /&gt;
| [[Kirkwood 7A300g (iPod touch 2G)|3.0b4]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7A312g&lt;br /&gt;
| [[Kirkwood 7A312g (iPhone)|3.0b5]]&lt;br /&gt;
| [[Kirkwood 7A312g (iPhone 3G)|3.0b5]]&lt;br /&gt;
| [[Kirkwood 7A312g (iPod touch)|3.0b5]]&lt;br /&gt;
| [[Kirkwood 7A312g (iPod touch 2G)|3.0b5]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C97d&lt;br /&gt;
| [[NorthVail 7C97d (iPhone)|3.1b1]]&lt;br /&gt;
| [[NorthVail 7C97d (iPhone 3G)|3.1b1]]&lt;br /&gt;
| [[NorthVail 7C97d (iPhone 3GS)|3.1b1]]&lt;br /&gt;
| [[NorthVail 7C97d (iPod touch)|3.1b1]]&lt;br /&gt;
| [[NorthVail 7C97d (iPod touch 2G)|3.1b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C106c&lt;br /&gt;
| [[NorthVail 7C106c (iPhone)|3.1b2]]&lt;br /&gt;
| [[NorthVail 7C106c (iPhone 3G)|3.1b2]]&lt;br /&gt;
| [[NorthVail 7C106c (iPhone 3GS)|3.1b2]]&lt;br /&gt;
| [[NorthVail 7C106c (iPod touch)|3.1b2]]&lt;br /&gt;
| [[NorthVail 7C106c (iPod touch 2G)|3.1b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 7C116a&lt;br /&gt;
| [[NorthVail 7C116a (iPhone)|3.1b3]]&lt;br /&gt;
| [[NorthVail 7C116a (iPhone 3G)|3.1b3]]&lt;br /&gt;
| [[NorthVail 7C116a (iPhone 3GS)|3.1b3]]&lt;br /&gt;
| [[NorthVail 7C116a (iPod touch)|3.1b3]]&lt;br /&gt;
| [[NorthVail 7C116a (iPod touch 2G)|3.1b3]]&lt;br /&gt;
|}&lt;br /&gt;
==== 4.x ====&lt;br /&gt;
Please note that for the Apple TV the firmware listed in this table is the one that your Apple TV reports. See also [[Apple TV Firmware Versions]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date (YYYY/MM/DD)&lt;br /&gt;
! Build&lt;br /&gt;
! [[k66ap|Apple TV 2G]]&lt;br /&gt;
! [[k48ap|iPad]]&lt;br /&gt;
! [[n82ap|iPhone 3G]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n90ap|iPhone 4 (GSM)]]&lt;br /&gt;
! [[n72ap|iPod touch 2G]]&lt;br /&gt;
! [[n18ap|iPod touch 3G]]&lt;br /&gt;
! [[n81ap|iPod touch 4G]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A230m&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;7&amp;quot; | Unavailable&lt;br /&gt;
| [[ApexVail 8A230m (iPhone 3G)|4.0b1]]&lt;br /&gt;
| [[ApexVail 8A230m (iPhone 3GS)|4.0b1]]&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
| [[ApexVail 8A230m (iPod touch 2G)|4.0b1]]&lt;br /&gt;
| [[ApexVail 8A230m (iPod touch 3G)|4.0b1]]&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A248c&lt;br /&gt;
| [[ApexVail 8A248c (iPhone 3G)|4.0b2]]&lt;br /&gt;
| [[ApexVail 8A248c (iPhone 3GS)|4.0b2]]&lt;br /&gt;
| [[ApexVail 8A248c (iPod touch 2G)|4.0b2]]&lt;br /&gt;
| [[ApexVail 8A248c (iPod touch 3G)|4.0b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A260b&lt;br /&gt;
| [[ApexVail 8A260b (iPhone 3G)|4.0b3]]&lt;br /&gt;
| [[ApexVail 8A260b (iPhone 3GS)|4.0b3]]&lt;br /&gt;
| [[ApexVail 8A260b (iPod touch 2G)|4.0b3]]&lt;br /&gt;
| [[ApexVail 8A260b (iPod touch 3G)|4.0b3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A274b&lt;br /&gt;
| [[ApexVail 8A274b (iPhone 3G)|4.0b4]]&lt;br /&gt;
| [[ApexVail 8A274b (iPhone 3GS)|4.0b4]]&lt;br /&gt;
| [[ApexVail 8A274b (iPod touch 2G)|4.0b4]]&lt;br /&gt;
| [[ApexVail 8A274b (iPod touch 3G)|4.0b4]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8A293&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|4.0GM]]&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|4.0GM]]&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|4.0GM]]&lt;br /&gt;
| [[Apex 8A293 (iPod touch 3G)|4.0GM]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8B5080&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
| [[BakerVail 8B5080 (iPod touch 2G)|4.1b1]]&lt;br /&gt;
| [[BakerVail 8B5080 (iPod touch 3G)|4.1b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8B5080c&lt;br /&gt;
| [[BakerVail 8B5080c (iPhone 3G)|4.1b1]]&lt;br /&gt;
| [[BakerVail 8B5080c (iPhone 3GS)|4.1b1]]&lt;br /&gt;
| [[BakerVail 8B5080c (iPhone 4)|4.1b1]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8B5091b&lt;br /&gt;
| [[BakerVail 8B5091b (iPhone 3G)|4.1b2]]&lt;br /&gt;
| [[BakerVail 8B5091b (iPhone 3GS)|4.1b2]]&lt;br /&gt;
| [[BakerVail 8B5091b (iPhone 4)|4.1b2]]&lt;br /&gt;
| [[BakerVail 8B5091b (iPod touch 2G)|4.1b2]]&lt;br /&gt;
| [[BakerVail 8B5091b (iPod touch 3G)|4.1b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C5091e&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
| [[JasperVail 8C5091e (iPad)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPhone 3G)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPhone 3GS)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPhone 4)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPod touch 2G)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPod touch 3G)|4.2b1]]&lt;br /&gt;
| [[JasperVail 8C5091e (iPod touch 4G)|4.2b1]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C5101c&lt;br /&gt;
| [[JasperVail 8C5101c (iPad)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPhone 3G)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPhone 3GS)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPhone 4)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPod touch 2G)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPod touch 3G)|4.2b2]]&lt;br /&gt;
| [[JasperVail 8C5101c (iPod touch 4G)|4.2b2]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C5115c&lt;br /&gt;
| [[JasperVail 8C5115c (iPad)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPhone 3G)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPhone 3GS)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPhone 4)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPod touch 2G)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPod touch 3G)|4.2b3]]&lt;br /&gt;
| [[JasperVail 8C5115c (iPod touch 4G)|4.2b3]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C134&lt;br /&gt;
| [[JasperVail 8C134 (iPad)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPhone 3G)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPhone 3GS)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPhone 4)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPod touch 2G)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPod touch 3G)|4.2GM]]&lt;br /&gt;
| [[JasperVail 8C134 (iPod touch 4G)|4.2GM]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C134b&lt;br /&gt;
| [[JasperVail 8C134b (iPad)|4.2GM]]&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8C148&lt;br /&gt;
| [[JasperVail 8C148 (iPad)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPhone 3G)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPhone 3GS)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPhone 4)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPod touch 2G)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPod touch 3G)|4.2.1GM]]&lt;br /&gt;
| [[JasperVail 8C148 (iPod touch 4G)|4.2.1GM]]&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F5148b&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[DurangoVail 8F5148b (iPad)|4.3b1]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Unavailable&lt;br /&gt;
| [[DurangoVail 8F5148b (iPhone 3GS)|4.3b1]]&lt;br /&gt;
| [[DurangoVail 8F5148b (iPhone 4)|4.3b1]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Unavailable&lt;br /&gt;
| [[DurangoVail 8F5148b (iPod touch 3G)|4.3b1]]&lt;br /&gt;
| [[DurangoVail 8F5148b (iPod touch 4G)|4.3b1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/01/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F5148c&lt;br /&gt;
| [[DurangoVail 8F5148c (Apple TV 2G)|4.2b1]]&lt;br /&gt;
| Unavailable&lt;br /&gt;
| Unavailable&lt;br /&gt;
| Unavailable&lt;br /&gt;
| Unavailable&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/01/19&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F5153d&lt;br /&gt;
| [[DurangoVail 8F5153d (Apple TV 2G)|4.2b2]]&lt;br /&gt;
| [[DurangoVail 8F5153d (iPad)|4.3b2]]&lt;br /&gt;
| [[DurangoVail 8F5153d (iPhone 3GS)|4.3b2]]&lt;br /&gt;
| [[DurangoVail 8F5153d (iPhone 4)|4.3b2]]&lt;br /&gt;
| [[DurangoVail 8F5153d (iPod touch 3G)|4.3b2]]&lt;br /&gt;
| [[DurangoVail 8F5153d (iPod touch 4G)|4.3b2]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/02/01&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F5166b&lt;br /&gt;
| [[DurangoVail 8F5166b (Apple TV 2G)|4.2b3]]&lt;br /&gt;
| [[DurangoVail 8F5166b (iPad)|4.3b3]]&lt;br /&gt;
| [[DurangoVail 8F5166b (iPhone 3GS)|4.3b3]]&lt;br /&gt;
| [[DurangoVail 8F5166b (iPhone 4)|4.3b3]]&lt;br /&gt;
| [[DurangoVail 8F5166b (iPod touch 3G)|4.3b3]]&lt;br /&gt;
| [[DurangoVail 8F5166b (iPod touch 4G)|4.3b3]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/03/03&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 8F190&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Durango 8F190 (iPad)|4.3GM]]&lt;br /&gt;
| [[Durango 8F190 (iPhone 3GS)|4.3GM]]&lt;br /&gt;
| [[Durango 8F190 (iPhone 4)|4.3GM]]&lt;br /&gt;
| [[Durango 8F190 (iPod touch 3G)|4.3GM]]&lt;br /&gt;
| [[Durango 8F190 (iPod touch 4G)|4.3GM]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 5.x ====&lt;br /&gt;
Please note that for the Apple TV the firmware listed in this table is the one that your Apple TV reports. See also [[Apple TV Firmware Versions]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date (YYYY/MM/DD)&lt;br /&gt;
! Build&lt;br /&gt;
! [[k66ap|Apple TV 2G]]&lt;br /&gt;
! [[j33ap|Apple TV 3G]]&lt;br /&gt;
! [[k48ap|iPad]]&lt;br /&gt;
! [[k93ap|iPad 2 (Wi-Fi)]]&lt;br /&gt;
! [[k94ap|iPad 2 (GSM)]]&lt;br /&gt;
! [[k95ap|iPad 2 (CDMA)]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n90ap|iPhone 4 (GSM)]]&lt;br /&gt;
! [[n92ap|iPhone 4 (CDMA)]]&lt;br /&gt;
! [[n18ap|iPod touch 3G]]&lt;br /&gt;
! [[n81ap|iPod touch 4G]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/06/07&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5220p&lt;br /&gt;
| [[TellurideVail 9A5220p (Apple TV 2G)|4.4b1]]&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Unavailable&lt;br /&gt;
| [[TellurideVail 9A5220p (iPad)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPad 2 Wi-Fi)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPad 2 GSM)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPad 2 CDMA)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPhone 3GS)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPhone 4)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPhone 4 CDMA)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPod touch 3G)|5.0b1]]&lt;br /&gt;
| [[TellurideVail 9A5220p (iPod touch 4G)|5.0b1]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/06/24&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5248d&lt;br /&gt;
| [[TellurideVail 9A5248d (Apple TV 2G)|4.4b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPad)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPad 2 Wi-Fi)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPad 2 GSM)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPad 2 CDMA)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPhone 3GS)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPhone 4)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPhone 4 CDMA)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPod touch 3G)|5.0b2]]&lt;br /&gt;
| [[TellurideVail 9A5248d (iPod touch 4G)|5.0b2]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/07/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5259f&lt;br /&gt;
| [[TellurideVail 9A5259f (Apple TV 2G)|4.4b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPad)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPad 2 Wi-Fi)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPad 2 GSM)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPad 2 CDMA)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPhone 3GS)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPhone 4)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPhone 4 CDMA)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPod touch 3G)|5.0b3]]&lt;br /&gt;
| [[TellurideVail 9A5259f (iPod touch 4G)|5.0b3]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/07/22&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5274d&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[TellurideVail 9A5274d (iPad)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPad 2 Wi-Fi)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPad 2 GSM)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPad 2 CDMA)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPhone 3GS)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPhone 4)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPhone 4 CDMA)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPod touch 3G)|5.0b4]]&lt;br /&gt;
| [[TellurideVail 9A5274d (iPod touch 4G)|5.0b4]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/08/06&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5288d&lt;br /&gt;
| [[TellurideVail 9A5288d (Apple TV 2G)|4.4b5&amp;lt;!-- Keep it as b5 as it is the same build as 5.0b5 --&amp;gt;]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPad)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPad 2 Wi-Fi)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPad 2 GSM)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPad 2 CDMA)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPhone 3GS)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPhone 4)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPhone 4 CDMA)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPod touch 3G)|5.0b5]]&lt;br /&gt;
| [[TellurideVail 9A5288d (iPod touch 4G)|5.0b5]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/08/19&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5302b&lt;br /&gt;
| [[TellurideVail 9A5302b (Apple TV 2G)|4.4b6&amp;lt;!-- Keep it as b6 as it is the same build as 5.0b6 --&amp;gt;]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPad)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPad 2 Wi-Fi)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPad 2 GSM)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPad 2 CDMA)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPhone 3GS)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPhone 4)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPhone 4 CDMA)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPod touch 3G)|5.0b6]]&lt;br /&gt;
| [[TellurideVail 9A5302b (iPod touch 4G)|5.0b6]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/08/31&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A5313e&lt;br /&gt;
| [[TellurideVail 9A5313e (Apple TV 2G)|4.4b7&amp;lt;!-- Keep it as b7 as it is the same build as 5.0b7 --&amp;gt;]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPad)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPad 2 Wi-Fi)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPad 2 GSM)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPad 2 CDMA)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPhone 3GS)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPhone 4)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPhone 4 CDMA)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPod touch 3G)|5.0b7]]&lt;br /&gt;
| [[TellurideVail 9A5313e (iPod touch 4G)|5.0b7]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/10/04&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9A334&lt;br /&gt;
| Unavailable&lt;br /&gt;
| [[Telluride 9A334 (iPad)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 Wi-Fi)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 GSM)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPad 2 CDMA)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 3GS)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 4)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPhone 4 CDMA)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPod touch 3G)|5.0GM]]&lt;br /&gt;
| [[Telluride 9A334 (iPod touch 4G)|5.0GM]]&lt;br /&gt;
|-&lt;br /&gt;
| 2011/12/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B5127c&lt;br /&gt;
| [[HoodooVail 9B5127c (Apple TV 2G)|5.0b1]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;9&amp;quot; | Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| 2011/12/12&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 9B5141a&lt;br /&gt;
| [[HoodooVail 9B5141a (Apple TV 2G)|5.0b2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 6.x ====&lt;br /&gt;
Please note that for the Apple TV the firmware listed in this table is the one that your Apple TV reports. See also [[Apple TV Firmware Versions]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: auto; table-layout: fixed; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date (YYYY/MM/DD)&lt;br /&gt;
! Build&lt;br /&gt;
! [[k66ap|Apple TV 2G]]&lt;br /&gt;
! [[j33ap|Apple TV 3G]]&lt;br /&gt;
! [[k93ap|iPad 2 (Wi-Fi)]]&lt;br /&gt;
! [[k94ap|iPad 2 (GSM)]]&lt;br /&gt;
! [[k95ap|iPad 2 (CDMA)]]&lt;br /&gt;
! [[k93aap|iPad 2 R2]]&lt;br /&gt;
! [[j1ap|iPad 3 (Wi-Fi)]]&lt;br /&gt;
! [[j2ap|iPad 3 (CDMA)]]&lt;br /&gt;
! [[j2aap|iPad 3 (Global)]]&lt;br /&gt;
! [[n88ap|iPhone 3GS]]&lt;br /&gt;
! [[n90ap|iPhone 4 (GSM)]]&lt;br /&gt;
! [[n92ap|iPhone 4 (CDMA)]]&lt;br /&gt;
! [[n94ap|iPhone 4S]]&lt;br /&gt;
! [[n81ap|iPod touch 4G]]&lt;br /&gt;
|-&lt;br /&gt;
| 2012/06/11&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 10A5316k&lt;br /&gt;
| [[SundanceVail 10A5316k (Apple TV 2G)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (Apple TV 3G)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 2 Wi-Fi)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 2 GSM)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 2 CDMA)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 2 Wi-Fi R2)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 3 Wi-Fi)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 3 CDMA)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPad 3 Global)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPhone 3GS)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPhone 4)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPhone 4 CDMA)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPhone 4S)|6.0b1]]&lt;br /&gt;
| [[SundanceVail 10A5316k (iPod touch 4G)|6.0b1]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:VFDecrypt]]&lt;/div&gt;</summary>
		<author><name>Cody</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=N94AP&amp;diff=22533</id>
		<title>N94AP</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=N94AP&amp;diff=22533"/>
		<updated>2011-11-20T12:07:14Z</updated>

		<summary type="html">&lt;p&gt;Cody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:IPhone4S black.jpg|right|thumb|iPhone 4S]]&lt;br /&gt;
This is the iPhone 4S introduced by Tim Cook at Apple's 'Let's talk iPhone' event on October 4th 2011. It is very similar to [[n92ap|the iPhone 4 (CDMA)]]. It contains a faster GOBI GSM/CDMA chip, a SIM slot, and a similar (but redesigned) antenna.&lt;br /&gt;
&lt;br /&gt;
== [[S5L8940|Application Processor]] ==&lt;br /&gt;
It uses the [[S5L8940|Apple A5]] CPU found in the iPad2 as well.&lt;br /&gt;
&lt;br /&gt;
== [[Baseband Device]] ==&lt;br /&gt;
[[MDM6610|Qualcomm MDM6610]]&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
The iPhone 4S has hardware support for both GPS and GLONASS signals for location determination included with the [[MDM6610|Qualcomm MDM6610]].  Apple's online advertising material for the 4S mentions GLONASS support, but as of October 20, 2011, no further details about this support have been publicly revealed.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
*'''Color''': Black, White&lt;br /&gt;
*'''Size''': 115.2 mm (4.5 inches) (h), 58.6 mm (2.31 inches) (w), 9.3 mm (0.37 inches) (d)&lt;br /&gt;
*'''Weight''': 140 g (4.9 oz)&lt;br /&gt;
*'''Battery''': Standby up to 200 hours, talk time up to 7 hours on 3G&lt;br /&gt;
*'''Rear camera''': 8MP with Autofocus and manual focus (''Tap to focus''), supporting HD 1080p video recording @ 30FPS&lt;br /&gt;
*'''Front camera''': VGA photos and video @ 30 FPS, supporting [[FaceTime]] Video Calls&lt;br /&gt;
*'''[[Siri]]''': Voice Control Feature (still beta)&lt;br /&gt;
*'''RAM''': 512MB&lt;/div&gt;</summary>
		<author><name>Cody</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/Applications/Compass.app&amp;diff=22531</id>
		<title>/Applications/Compass.app</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/Applications/Compass.app&amp;diff=22531"/>
		<updated>2011-11-20T11:33:16Z</updated>

		<summary type="html">&lt;p&gt;Cody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The compass is present in all iPhones since the [[iPhone 3GS|3GS]] and all iPad models. A 'magnetometer' (the formal term for a digital compass) is a scientific instrument used to measure the strength and/or direction of the magnetic field in the vicinity of the instrument. The compass found in the iPhone 3GS is the AKM Semiconductor AKM8973, whereas the iPhone 4 and iPad use the AKM Semiconductor AKM8975. [http://www.asahi-kasei.co.jp/ake/en/technology/angle.html]&lt;/div&gt;</summary>
		<author><name>Cody</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Unsolved_problems&amp;diff=4754</id>
		<title>Unsolved problems</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Unsolved_problems&amp;diff=4754"/>
		<updated>2009-09-10T07:39:52Z</updated>

		<summary type="html">&lt;p&gt;Cody: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use your imagination; what do you want?&lt;br /&gt;
&lt;br /&gt;
==Exploits Needed==&lt;br /&gt;
* [[Unlock 2.0|3G iPhone Baseband]] - Partly done ([[ultrasn0w]] uses [[AT+XLOG Vulnerability]] which is available in all versions until 04.26.08)&lt;br /&gt;
* [[Baseband Bootrom|iPhone 3G Baseband Bootrom]] (breaking the chain of trust)&lt;br /&gt;
* &amp;lt;del&amp;gt;[[S5L8720|iPod Touch 2G S5L Bootrom]] (breaking the chain of trust)&amp;lt;/del&amp;gt; - Done ([[0x24000 Segment Overflow]])&lt;br /&gt;
* [[S5L8920 (Bootrom)|iPhone 3GS Bootrom]] (breaking the chain of trust or finding a way to write LLB without using an iBoot exploit)&lt;br /&gt;
&lt;br /&gt;
==Work to be done==&lt;br /&gt;
*[[iPhoneLinux|Port Linux to the iPhone]] [http://www.iphonelinux.org/]&lt;br /&gt;
**[[Port (Google's mobile os) to the iPhone]]  [http://code.google.com/android/ Android Link]&lt;br /&gt;
*[[Increased Bluetooth Profile Support]]&lt;br /&gt;
*IP over iTunes&lt;br /&gt;
*Getting NMEA output from the GPS&lt;br /&gt;
*IPFW kernel extension&lt;br /&gt;
&lt;br /&gt;
== Investigation ==&lt;br /&gt;
*[[Research: Pwnage Patches]]&amp;lt;br&amp;gt;&lt;br /&gt;
*[[Research: Re-allowing unsigned ramdisks and boot-args with the 2.* iBoot]]&lt;br /&gt;
*[[2.0 and 1.1.4 dual boot]]&lt;/div&gt;</summary>
		<author><name>Cody</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=0x24000_Segment_Overflow&amp;diff=4753</id>
		<title>0x24000 Segment Overflow</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=0x24000_Segment_Overflow&amp;diff=4753"/>
		<updated>2009-09-10T07:34:07Z</updated>

		<summary type="html">&lt;p&gt;Cody: /* Note */  removed section about it being sold, as it is not&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Also known by its codename, 24kPwn, this was the first exploit in the [[S5L8720]] that allowed us to bypass the bootrom signature checks on [[LLB]] and create what is known as an [[untethered jailbreak]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
A &amp;quot;hybrid&amp;quot; dev team, in alphabetical order: '''chronic''', '''CPICH''', '''ius''', '''MuscleNerd''', '''planetbeing''', '''pod2g''', '''posixninja''', et al. (anyone wishing to be unnamed)&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
Upon boot-up, the [[S5L8720]] and [[S5L8920]] SoC have a MIU configuration which maps the [[VROM (S5L8720)|Secure ROM]] to 0x0, providing the newly turned on device with an ARM exception vector and the first code to execute. This MIU configuration also maps a small amount of SRAM to 0x22000000 for the [[S5L8720]], and 0x84000000 for the [[S5L8920]]. Statically allocated variables, heap, and stack must use the SRAM, as &amp;quot;[[VROM (S5L8720)|Secure ROM]]&amp;quot; is unwritable. A region of memory starting from (SRAM Start)+24000 is used for this purpose. The region of memory from the start of SRAM to (SRAM Start)+0x24000 is used as a buffer for loading the [[LLB|next stage bootloader]] code. The [[LLB]] code is stored in [[NOR]], along with code for all other bootloader stages, as well as art resources (boot logos) and the [[DeviceTree|OpenFirmware device tree]] to provide to the XNU [[kernel]]. The first portion (first 0x160 bytes) of memory at (SRAM Start)+0x24000 is used for initialized statically allocated variables. Shortly after boot, values for that region are initialized from [[VROM (S5L8720)|Secure ROM]].&lt;br /&gt;
&lt;br /&gt;
==Vulnerability==&lt;br /&gt;
&lt;br /&gt;
The code that reads the [[LLB]] img3 from [[NOR]] into memory does not check the size of the [[LLB]] image being loaded, instead taking the size directly from the non-signature checked portion of its img3 header on the [[NOR]] (see ROM offset 0x2178). Any image greater than 0x24000 bytes in length will begin overwriting the portion of memory used to store Secure ROM statically allocated variables. Immediately vulnerable data includes USB data structures for [[DFU]] mode, a pointer to the bdev list structure, task list structures for the Secure ROM's scheduler, as well as the addresses of the hardware SHA1 registers. All of the above are potential avenues for exploitation.  The method described below uses the SHA1 register addresses.&lt;br /&gt;
&lt;br /&gt;
This vulnerability was discovered independently by '''pod2g''' and '''MuscleNerd'''.&lt;br /&gt;
&lt;br /&gt;
== Exploit==&lt;br /&gt;
&lt;br /&gt;
The goal of the exploit is to gain arbitrary code execution capability.&lt;br /&gt;
&lt;br /&gt;
The exploit, as proposed by '''planetbeing''', uses the overflow to overwrite one of the addresses of the SHA1 registers. The particular register is the only one that directly copies data to be hashed into the hardware (or into an arbitrary memory location, once the destination address has been overwritten). Code execution is achieved by writing data into the stack, specifically by overwriting the LR of the function performing the write to the &amp;quot;SHA1 register&amp;quot; so that instead of returning to the main SHA1 routine, it returns to a chosen location in memory that contains the payload code. The location chosen is within the range of memory that is filled with the [[LLB]] img3, so that the payload code can be placed within the [[LLB]] img3.&lt;br /&gt;
&lt;br /&gt;
The challenge is determining what to put in as the SHA1 register location so that the right portion of stack can be overwritten with the payload LR. This can be challenging without having access to any sort of exception dump (crash register dumps in the bootrom had been disabled by Apple). '''planetbeing''' performed a static analysis of a very detailed IDB produced by '''chronic''' and '''CPICH''' and determined the theoretical call stack for both of the invocations of the SHA1 hardware within the bootrom code [http://pastie.org/414981].&lt;br /&gt;
&lt;br /&gt;
In-situ verification of the LR location was performed by '''posixninja'''. '''CPICH''' discovered a way to alter the img3 DER so that the second invocation of the SHA1 hardware was not performed without affecting the first, allowing better confirmation that this step was performed properly.&lt;br /&gt;
&lt;br /&gt;
The final SHA1 register address was chosen so that the first dword of the DATA tag of the [[LLB]] img3 would replace sub_5E54's LR. This is because this is the first dword of the img3 that can be altered without substantially changing the img3's structure (and possibly disrupting earlier parsing code). The LR replacement must be done the first time the exploit is triggered (by the invocation of sub_5E54), or else the bootrom would crash. Since sub_5E54 takes 0x40 bytes of data at a time, the replacement LR thus must be within the first 0x40 bytes of data to be hashed. Data to be hashed starts at 0xC bytes from the start of the img3, and the first dword of the DATA tag is 0x20 bytes from the start of the img3. Thus, the SHA1 register address chosen should be 0x20 - 0xC = 0x14 bytes before sub_5E54's LR. So, it must be 0x2202FE24. Note that the exploit will also trash up to 0x2202FE24 + 0x40 = 0x2202FE64. So a sizeable portion of doComputeSHA1's stack will be trashed as well.&lt;br /&gt;
&lt;br /&gt;
The final exploit img3 was verified by '''posixninja''' under '''planetbeing''''s instructions to allow arbitrary code execution. It was a regular Img3 with padding up to 0x24000 bytes. The next 0x100 bytes were taken from the original initialization values for 0x22024000. However, 0x240FC, the offset of the SHA1 register address, was altered to 0x2202FE24. The first dword of the DATA tag (offset 0x20) was altered to 0x22023000. Payload code was placed at offset 0x23000.&lt;br /&gt;
&lt;br /&gt;
==Payload==&lt;br /&gt;
&lt;br /&gt;
The goal of the payload is to allow an unsigned [[LLB]] to be loaded.&lt;br /&gt;
&lt;br /&gt;
There are several ways that can be used, including directly calling the JumpToMemory function which is designed to prepare the SoC and invoke the [[LLB]] code. However, it's designed to be used on decrypted, unpacked code, and the [[LLB]] code currently resides in an encrypted from within the img3's DATA tag. The simplest solution is thus to use the bootrom's own machinery to decrypt and execute the code.&lt;br /&gt;
&lt;br /&gt;
The final payload evolved out of a discussion between '''pod2g''' and '''planetbeing''', based on an IDB documented by '''pod2g''', '''chronic''', '''CPICH''', et al. The lowest impact solution is to apply the pwnage patch to the rsaCheck subroutine of the bootrom, and returning from the payload from computing the SHA1 without crashing the bootrom. However, in this case, since bootrom text is unwritable, this was not a viable solution.&lt;br /&gt;
&lt;br /&gt;
The next lowest impact solution is to return from the entire parseFirmwareFooter function with a successful value, instead of the failure value it would normally return if signature checks fail. This would skip any remaining code  in that subroutine. This solution did not work in-situ. Failures checking the epoch tags prevented the firmware from being executed. The cause of this was not investigated.&lt;br /&gt;
&lt;br /&gt;
The final payload was to return past the verification of epoch and other tags in the [[LLB]] img3 to a spot right before the DATA tag was loaded from memory and decrypted. R5 was set to 0 to ensure decryption would not be skipped. The original value for the first DATA dword (before we had to overwrite it with the exploit LR) is written back to 0x22000020 by the payload, and the original SHA1 register value was written back to 0x2202FE24 to ensure the payload only activates once.&lt;br /&gt;
&lt;br /&gt;
==Deployment==&lt;br /&gt;
&lt;br /&gt;
Although the exploitive [[LLB]] can be manually written to [[NOR]] by bootstrapping from a tethered jailbreak, the easiest way is to use the Apple restore process itself. Apple's Restore process will write arbitrary img3s onto the [[NOR]], even if they fail signature checks. However, the &amp;quot;total size&amp;quot; value of the img3 is fixed up by the kernel before it is written to [[NOR]]. This would negate the exploit. However, '''MuscleNerd''' discovered that this could be bypassed by including the padding in another tag, such as CERT. Then, the written exploit [[LLB]] would have the &amp;quot;correct&amp;quot;, exploitive total size.&lt;br /&gt;
&lt;br /&gt;
==Timing Impact==&lt;br /&gt;
This exploit would have allowed the [[pwnage]] of the next generation iPhone without the discovery of an additional code execution vulnerability (required to write the exploit [[LLB]]), provided that the bug still existed in the next generation's bootrom. Even though it was too late to patch the bootrom, it was not too late for Apple to repair the restore process in the stock IPSW, removing the method used to get the exploitive [[LLB]] onto the device. Before, Apple would have no reason to fix this, since writing arbitrary data to [[NOR]] does not negate their chain of trust. However, now that a way has been found, they were able to prioritize a fix for this oversight thus making the permanent [[pwnage]] of future devices significantly more difficult.&lt;br /&gt;
&lt;br /&gt;
Thanks to irresponsible handling of the exploit by a third-party company known as [[NitroKey]] who were interested in making financial gain from the work of others, this eventuality became a near-certainty and pretty much erased the possibility of a day-of-release jailbreak for the [[iPhone 3GS]] and the third-generation iPod touch. In addition, to counteract the exploit, with the early exposure of the exploit, Apple were able to add the [[ECID]] tag to the [[IMG3 File Format|IMG3 format]] in the iPhone 3GS. The early leak of the exploit allowed Apple to understand that an iBoot exploit would be necessary to flash the required oversized LLB and through doing so, Apple have prevented this exploit from allowing the iPhone 3GS to be permanently jailbroken through this exploit unless new iBoot hacks can be found in every firmware release.  May NitroKey burn in hell for all eternity.&lt;br /&gt;
&lt;br /&gt;
==3GS Implementation==&lt;br /&gt;
&lt;br /&gt;
The exploit remains the same in spirit.&lt;br /&gt;
&lt;br /&gt;
The call tree and stacks analysis is very similar although a few bytes here and there changed it slightly. It was again done manually but afterward, and out of fun, an IDA Python Script was written to automate the process. The new static analysis can be seen here [http://pastie.org/551212], and the IDA Python Script for it there [http://github.com/iZsh/IDA-Python-Scripts/].&lt;br /&gt;
&lt;br /&gt;
The main differences are:&lt;br /&gt;
&lt;br /&gt;
* the SRAM is at 0x84000000 instead of 0x22000000&lt;br /&gt;
* the Original value of the first DATA dword is written back to 0x84000040 (which was overwritten by the LR address)&lt;br /&gt;
* the SHA1 register original value is written back to 0x840241CC&lt;br /&gt;
* '''The decrypt flag is not held in R5 anymore''', but in a local variable of the function &amp;quot;my_process_module&amp;quot; (sub_2564). An extra static analysis tells us this variable is held at 0x84033F30, thus that's where you have to store your 0x0 value before returning to this function.&lt;br /&gt;
&lt;br /&gt;
[[Category:Exploits]]&lt;/div&gt;</summary>
		<author><name>Cody</name></author>
		
	</entry>
</feed>