<?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=Toddyt1</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=Toddyt1"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Toddyt1"/>
	<updated>2026-05-01T16:56:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=15401</id>
		<title>The iPhone Wiki:Community portal</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=15401"/>
		<updated>2011-01-28T14:34:12Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: Adding this. Was opened on archived page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive|2009|2010|2011}}&lt;br /&gt;
&lt;br /&gt;
This is the place to post tasks that need to be done on the wiki. Also this is the place for proposed changes. I heard about people wanting a favicon and arranging the main page into categories.&lt;br /&gt;
&lt;br /&gt;
== Site Related Requests ==&lt;br /&gt;
Place you reqests here&lt;br /&gt;
&lt;br /&gt;
==iPhone Related Requests==&lt;br /&gt;
{{main|Unsolved problems}}&lt;br /&gt;
Keys/ivs for 4.0 beta 1/2/3 need to be updated. Many of them on are on the Internet, but not on here. Related pages:&lt;br /&gt;
*[[Beta Firmware]]&lt;br /&gt;
&lt;br /&gt;
==Hacking softwares which are fit to be in this wiki==&lt;br /&gt;
Some people are just copying other jailbreaks source code/idea, renaming it and they are putting up a iphone wiki page.What to do with them? Seas0npass is an example which copied sn0wbreeze/PwnageTool idea. --[[User:Whiteshinyapple|Whiteshinyapple]] 13:37, 28 January 2011 (UTC)&lt;br /&gt;
:They are all just GUIs for xpwn. They are all valid &amp;quot;hacking softwares&amp;quot;. --[[User:Toddyt1|Toddyt1]] 14:27, 28 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Umbi98&amp;diff=15327</id>
		<title>User:Umbi98</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Umbi98&amp;diff=15327"/>
		<updated>2011-01-26T20:17:17Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: Umbi98 moved to User:Umbi98 over redirect: This is a user page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm '''Umbi98''' and I'm an iPhone Hacker and Unlocker.&lt;br /&gt;
&lt;br /&gt;
I'm from Milan and I love keeping this wiki!! :-)&lt;br /&gt;
&lt;br /&gt;
I'm a happy iPhoneItalia User and I know a lot about jailbreak and unlock.&lt;br /&gt;
&lt;br /&gt;
I know HTML.&lt;br /&gt;
&lt;br /&gt;
I'm Italian and 13.&lt;br /&gt;
&lt;br /&gt;
== Contact Info ==&lt;br /&gt;
{| border=3&lt;br /&gt;
|-&lt;br /&gt;
| OpenFeint&lt;br /&gt;
| umberto98&lt;br /&gt;
|-&lt;br /&gt;
| [[:/var/stash/Applications.*****/GameCenter~iphone.app|Game Center]]&lt;br /&gt;
| umbi98&lt;br /&gt;
|-&lt;br /&gt;
| Twitter&lt;br /&gt;
| http://www.twitter.com/umbi98&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
{| border=3&lt;br /&gt;
|-&lt;br /&gt;
! Device&lt;br /&gt;
! [[N82ap|iPhone 3G]]&lt;br /&gt;
! [[N82ap|iPhone 3G]]&lt;br /&gt;
! [[N88ap|iPhone 3GS]]&lt;br /&gt;
! [[N90ap|iPhone 4]]&lt;br /&gt;
! [[K48ap|iPad WiFi]]&lt;br /&gt;
|-&lt;br /&gt;
! Paid&lt;br /&gt;
| €550&lt;br /&gt;
| €500&lt;br /&gt;
| Gift&lt;br /&gt;
| $200&lt;br /&gt;
| Gift&lt;br /&gt;
|-&lt;br /&gt;
! Size&lt;br /&gt;
| 16GB&lt;br /&gt;
| 8GB&lt;br /&gt;
| 16GB&lt;br /&gt;
| 16GB&lt;br /&gt;
| 64GB&lt;br /&gt;
|-&lt;br /&gt;
! Current FW&lt;br /&gt;
| [[Jasper 8C148|4.2.1]]&lt;br /&gt;
| [[Jasper 8C148|4.2.1]]&lt;br /&gt;
| [[Jasper 8C148a|4.2.1]]&lt;br /&gt;
| [[Baker 8B117|4.1]]&lt;br /&gt;
| [[Jasper 8C148|4.2.1]]&lt;br /&gt;
|-&lt;br /&gt;
! Jailbroken?&lt;br /&gt;
| {{yes|Yes}}&lt;br /&gt;
| {{no|No}}&lt;br /&gt;
| {{yes|Jailbreak Monte}}&lt;br /&gt;
| {{yes|Yes}}&lt;br /&gt;
| {{yes|Jailbreak Monte}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== My Sites ==&lt;br /&gt;
'''These''' sites will be active and fully functional in about a week or two.&lt;br /&gt;
{| border=3&lt;br /&gt;
|-&lt;br /&gt;
! Site Name&lt;br /&gt;
! Link&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
| Apple Forum&lt;br /&gt;
| [http://www.appleitaly.com/ Apple Italy]&lt;br /&gt;
| My site about Apple Device&lt;br /&gt;
| {{yes|Online}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programing Languages==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
| |&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
| {{yes|Known}}&lt;br /&gt;
| {{partial|Learning}}&lt;br /&gt;
| {{no|Going to learn}}&lt;br /&gt;
|}&lt;br /&gt;
| |&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Visual Studio&lt;br /&gt;
| {{yes|[[wikipedia:Visual BASIC|Visual BASIC]]}}&lt;br /&gt;
| {{yes|[[wikipedia:Visual BASIC|Visual BASIC]] ([[wikipedia:Windows Presentation Foundation|WPF]])}}&lt;br /&gt;
| {{no|[[wikipedia:C (programming language)|C]]}}&lt;br /&gt;
| {{no|[[wikipedia:C++ (programming language)|C++]]}}&lt;br /&gt;
|-&lt;br /&gt;
! Web&lt;br /&gt;
| {{yes|[[wikipedia:HTML|HTML]]}}&lt;br /&gt;
| {{yes|[[wikipedia:XHTML|XHTML]]}}&lt;br /&gt;
| {{partial|[[wikipedia:XML|XML]]}}&lt;br /&gt;
| {{partial|[[wikipedia:PHP|PHP]]}}&lt;br /&gt;
|-&lt;br /&gt;
! Java-based&lt;br /&gt;
| {{yes|[[wikipedia:G-java|G-Java]]}}&lt;br /&gt;
| {{yes|[[wikipedia:Java|Java]]}}&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=15043</id>
		<title>Jailbreak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=15043"/>
		<updated>2011-01-17T11:47:40Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Userland (used for all devices) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
The original jailbreak also included modifying the [[AFC|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 ([[AFC|afc2]]) that allows access to the full filesystem.&lt;br /&gt;
&lt;br /&gt;
Modern jailbreaks also include patching the kernel to get around code signing and other restrictions.&lt;br /&gt;
&lt;br /&gt;
==Exploits which were used in order to jailbreak (in chronological order)==&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
* [[Restore Mode]] ([[iBoot (Bootloader)|iBoot]] had a command named cp, which had access to the whole filesystem)&lt;br /&gt;
&lt;br /&gt;
=== 1.1.1 ===&lt;br /&gt;
* [[Symlinks]] (an upgrade jailbreak)&lt;br /&gt;
* [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[JailbreakMe]])&lt;br /&gt;
=== 1.1.2 ===&lt;br /&gt;
* [[Mknod]] (an upgrade jailbreak)&lt;br /&gt;
=== 1.1.3 / 1.1.4 ===&lt;br /&gt;
* [[Soft Upgrade]] (an upgrade jailbreak)&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
==Exploits which are used in order to jailbreak 2.0 and above==&lt;br /&gt;
&lt;br /&gt;
===[[Userland]] (used for all devices)===&lt;br /&gt;
*[[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (together for [[Spirit]])&lt;br /&gt;
*[[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (together for [[Star]])&lt;br /&gt;
*[[Packet Filter Kernel Exploit]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]], for [[untethered jailbreak]])&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]] / [[N82ap|iPhone 3G]] / [[N45ap|iPod touch]]===&lt;br /&gt;
* [[Pwnage]] and [[Pwnage 2.0]] (together)&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch 2G]]===&lt;br /&gt;
* [[ARM7 Go]] (used by [[tethered jailbreak]]s)&lt;br /&gt;
* [[0x24000 Segment Overflow]] (used on &amp;quot;MB&amp;quot; models for an [[untethered jailbreak]])&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for units with the [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
*[[usb_control_msg(0xA1, 1) Exploit]] (used for a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
* [[0x24000 Segment Overflow]] (used on older devices for an [[untethered jailbreak]])&lt;br /&gt;
* [[iBoot Environment Variable Overflow]]&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for newer devices)&lt;br /&gt;
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N18ap|iPod touch 3G]]===&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] only)&lt;br /&gt;
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N81ap|iPod touch 4G]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[k48ap|iPad]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[k66ap|Apple TV 2G]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=15042</id>
		<title>User:Toddyt1</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=15042"/>
		<updated>2011-01-17T11:42:08Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi. :)&lt;br /&gt;
&lt;br /&gt;
I'm toddyt1. Otherwise known as Thomas Todd. I'am interested in computers and computing related things. I'am also very interested in learning about the iphone. Sorry about multiple, rapid sequential edits i make to pages i often edit from my iPhone. Currently I am not jailbroken but still actively follow what is happening in the scene.&lt;br /&gt;
&lt;br /&gt;
Im currently learning VB.NET at college. In the future i plan on learning objective-c.&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=15041</id>
		<title>Jailbreak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=15041"/>
		<updated>2011-01-17T10:43:31Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: added ipad and apple tv 2g&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
The original jailbreak also included modifying the [[AFC|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 ([[AFC|afc2]]) that allows access to the full filesystem.&lt;br /&gt;
&lt;br /&gt;
Modern jailbreaks also include patching the kernel to get around code signing and other restrictions.&lt;br /&gt;
&lt;br /&gt;
==Exploits which were used in order to jailbreak (in chronological order)==&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
* [[Restore Mode]] ([[iBoot (Bootloader)|iBoot]] had a command named cp, which had access to the whole filesystem)&lt;br /&gt;
&lt;br /&gt;
=== 1.1.1 ===&lt;br /&gt;
* [[Symlinks]] (an upgrade jailbreak)&lt;br /&gt;
* [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[JailbreakMe]])&lt;br /&gt;
=== 1.1.2 ===&lt;br /&gt;
* [[Mknod]] (an upgrade jailbreak)&lt;br /&gt;
=== 1.1.3 / 1.1.4 ===&lt;br /&gt;
* [[Soft Upgrade]] (an upgrade jailbreak)&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
==Exploits which are used in order to jailbreak 2.0 and above==&lt;br /&gt;
&lt;br /&gt;
===[[Userland]] (used for all devices)===&lt;br /&gt;
*[[MobileBackup Copy Exploit]] + [[Incomplete Codesign Exploit]] + [[BPF_STX Kernel Write Exploit]] (together for [[Spirit]])&lt;br /&gt;
*[[Malformed CFF Vulnerability]] + [[Incomplete Codesign Exploit]] + [[IOSurface Kernel Exploit]] (together for [[Star]])&lt;br /&gt;
*[[Packet Filter Kernel Exploit]] (together with [[limera1n]]'s bootrom exploit or the [[usb_control_msg(0xA1, 1) Exploit]])&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]] / [[N82ap|iPhone 3G]] / [[N45ap|iPod touch]]===&lt;br /&gt;
* [[Pwnage]] and [[Pwnage 2.0]] (together)&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch 2G]]===&lt;br /&gt;
* [[ARM7 Go]] (used by [[tethered jailbreak]]s)&lt;br /&gt;
* [[0x24000 Segment Overflow]] (used on &amp;quot;MB&amp;quot; models for an [[untethered jailbreak]])&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for units with the [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
*[[usb_control_msg(0xA1, 1) Exploit]] (used for a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
* [[0x24000 Segment Overflow]] (used on older devices for an [[untethered jailbreak]])&lt;br /&gt;
* [[iBoot Environment Variable Overflow]]&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] for newer devices)&lt;br /&gt;
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N18ap|iPod touch 3G]]===&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]] ([[tethered jailbreak|tethered]] only)&lt;br /&gt;
* [[limera1n]] ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[N81ap|iPod touch 4G]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[k48ap|iPad]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;br /&gt;
&lt;br /&gt;
===[[k66ap|Apple TV 2G]]===&lt;br /&gt;
* [[limera1n]]'s bootrom exploit ([[tethered jailbreak|tethered]] on its own, [[untethered jailbreak|untethered]] with an additional exploit)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=PMB8878&amp;diff=14979</id>
		<title>PMB8878</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=PMB8878&amp;diff=14979"/>
		<updated>2011-01-15T21:49:19Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Known iPhone (3G and 3GS) Firmware Versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the baseband processor used in the [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[K48ap|iPad]] (3G version). It is upgraded with [[BBUpdaterExtreme]]. It is also known as the PMB8878 and is also used on the LG KM900 ARENA. There is a [http://arenoid.com team] working on how to port Android on LG ARENA.&lt;br /&gt;
&lt;br /&gt;
==Datasheet==&lt;br /&gt;
Anyone got one? Infineon provides [http://www.infineon.com/dgdl/X-GOLD608_XMM6080.pdf?location=Products.Mobile_Phone_Baseband_ICs.WCDMA___HSDPA.X-GOLD__608_-_PMB_8878.PRODUCT_TYPE_DOCUMENTS.X-GOLD608_XMM6080.pdf&amp;amp;folderId=db3a304312fcb1bc0113000c158f0004&amp;amp;fileId=db3a30431936bc4b011957c66fee3850 this], which isn't really useful.&lt;br /&gt;
&lt;br /&gt;
View Pinouts from Apple iPhone 3G Schematic - http://img218.imageshack.us/img218/149/baseband.jpg&lt;br /&gt;
&lt;br /&gt;
The firmware is a version of [http://www.mentor.com/products/embedded_software/nucleus_rtos/ Nucleos OS], a realtime OS for embedded platforms. The parser for the AT commands is generated from GNU bison.&lt;br /&gt;
&lt;br /&gt;
==Secpack 2.0==&lt;br /&gt;
This is the security region in the files sent to the [[X-Gold 608]]. This is the first 0xCF8 is new fls and eep files.&lt;br /&gt;
&lt;br /&gt;
===Layout===&lt;br /&gt;
 0x634--Memory Map&lt;br /&gt;
 0x714--Descriptor&lt;br /&gt;
 0xCD4--Post secpack pointer to name&lt;br /&gt;
 0xCEC--Data length&lt;br /&gt;
&lt;br /&gt;
==Endpack==&lt;br /&gt;
The fls and eep files also have a footer tacked onto the end containing the loader and signature.&lt;br /&gt;
&lt;br /&gt;
==Memory Map==&lt;br /&gt;
  FLASH      0x20000000 0x1000000&lt;br /&gt;
  CODE       0x20000000   0x40000 0b0010(bootstrapper)&lt;br /&gt;
  CODE       0x20040000  0xDC0000 0b0100(main firmware)&lt;br /&gt;
  FFS        0x20A00000  0x100000 0b1100(empty)&lt;br /&gt;
  DYNFFS     0x20A00000  0x100000 0b1100(empty)&lt;br /&gt;
  FFS        0x20B00000   0x40000 0b1011(empty)&lt;br /&gt;
  DYN_EEP    0x20E40000   0x80000 0b0110&lt;br /&gt;
  SECPACK    0x20EC0000   0x40000&lt;br /&gt;
  SECZONE    0x20F80000   0x40000&lt;br /&gt;
  STATIC_EEP 0x20FC0000   0x40000 0b0111&lt;br /&gt;
  RAM        0x40000000  0x800000&lt;br /&gt;
&lt;br /&gt;
==MMU relocation table==&lt;br /&gt;
===Bootloader===&lt;br /&gt;
[[Image:Bltbl.png]]&lt;br /&gt;
&lt;br /&gt;
===Firmware===&lt;br /&gt;
[[Image:Bbmmu.png]]&lt;br /&gt;
&lt;br /&gt;
== Known [[iPhone]] (3G and 3GS) Firmware Versions ==&lt;br /&gt;
 [[1.43.00]]    2.0 (Build 5A331 - Internal Beta)&lt;br /&gt;
 [[1.43.02]]    2.0 (Unknown Internal Beta)&lt;br /&gt;
 [[1.45.00]]    2.0 (Build 5A347 - Gold Master)&lt;br /&gt;
 [[1.48.02]]    2.0.1 (Build 5B108)&lt;br /&gt;
 [[2.04.03]]    2.1 (Build 5F90)&lt;br /&gt;
 [[2.08.01]]    2.0.2 (Build 5C1)&lt;br /&gt;
 [[2.11.07]]    2.1 (Build 5F136)&lt;br /&gt;
 [[2.28.00]]    2.2 (Build 5G77)&lt;br /&gt;
 [[2.30.03]]    2.2.1 (Build 5H11)&lt;br /&gt;
 [[4.20.01]]    3.0 beta 1 (Build 7A238j)&lt;br /&gt;
 [[4.22.01]]    3.0 beta 2 (Build 7A259g)&lt;br /&gt;
 [[4.24.02]]    3.0 beta 3 (Build 7A280f)&lt;br /&gt;
 [[4.26.08]]    3.0 (Build 7A341) and 3.0.1 (Build 7A400)&lt;br /&gt;
 [[5.08.01]]    3.1 beta 1 (Build 7C97d)&lt;br /&gt;
 [[5.10.01]]    3.1 beta 2 (Build 7C106c)&lt;br /&gt;
 [[5.11.04]]    3.1 beta 3 (Build 7C116a)&lt;br /&gt;
 [[5.11.07]]    3.1 (Build 7C144) and 3.1.2 (Build 7D11)&lt;br /&gt;
 [[5.12.01]]    3.1.3 (Build 7E18)&lt;br /&gt;
 [[5.13.03]]    4.0 beta 1 (Build 8A230m) and 4.0 beta 2 (Build 8A248c)&lt;br /&gt;
 [[5.13.04]]    4.0 (Build 8A293), 4.0.1 (Build 8A306), and 4.0.2 (Build 8A400)&lt;br /&gt;
 [[5.14.01]]    4.1 beta 2 (Build 8B5091b)&lt;br /&gt;
 [[5.14.02]]    4.1 (Build 8B117)&lt;br /&gt;
 [[5.15.04]]    4.2.1(Build 8C148)&lt;br /&gt;
 [[5.16.00]]    4.3b1 (Build 8F5148b)&lt;br /&gt;
&lt;br /&gt;
== Known [[iPad]] Firmware Versions ==&lt;br /&gt;
 [[6.15.00]]    3.2 (Build 7B367), 3.2.1 (Build 7B405), and 3.2.2 (Build 7B500)&lt;br /&gt;
 [[7.08.00]]    4.2 beta 1 (Build 8C5091e)&lt;br /&gt;
 [[7.09.00]]    4.2 beta 2 (Build 8C5101)&lt;br /&gt;
 [[7.10.00]]    4.2.1 (Build 8C148)&lt;br /&gt;
 [[7.11.00]]    4.3b1 (Build 8F5148b)&lt;br /&gt;
&lt;br /&gt;
==Accessing [[Interactive Mode]]==&lt;br /&gt;
Interactive mode isn't accessed by sending characters to the baseband. Instead a GPIO pin is raised with a kernel call to preupdate reset.&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 0, 0, 0, 0, 0);	//reset(kAppleBasebandConnectMethodResetModem)&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 1, 0, 0, 0, 0);	//power set(kAppleBasebandConnectMethodRadioOn)&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 2, ?, 0, 0, 0);	//configuring mux&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 7, 0, 0, 0, 0);	//powercycle&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 8, 0, 0, 0, 0);	//preupdate reset&lt;br /&gt;
 result = IOConnectCallScalarMethod(conn, 9, 0, 0, 0, 0);	//kAppleBasebandConnectMethodNotifyBasebandPoweringDown&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=05.15.04&amp;diff=14978</id>
		<title>05.15.04</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=05.15.04&amp;diff=14978"/>
		<updated>2011-01-15T21:47:36Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[X-Gold 608]] firmware supplied with iOS 4.2.1.&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
*No exploit compatible with this modem firmware has been publicly released.&lt;br /&gt;
*It is possible to upgrade the modem firmware to the exploitable [[6.15.00]], however this action will result in serious side-effects that can't currently be fixed as a baseband downgrade is actively blocked by [[BBUpdaterExtreme]]. [http://blog.iphone-dev.org/post/1718400992/ultra-recycle More info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Proposal: [[Category:X-Gold 608]] --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=05.15.04&amp;diff=14977</id>
		<title>05.15.04</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=05.15.04&amp;diff=14977"/>
		<updated>2011-01-15T21:45:36Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[X-Gold 608]] firmware supplied with iOS 4.2GM.&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
*No exploit compatible with this modem firmware has been publicly released.&lt;br /&gt;
*It is possible to upgrade the modem firmware to the exploitable [[6.15.00]], however this action will result in serious side-effects that can't currently be fixed as a baseband downgrade is actively blocked by [[BBUpdaterExtreme]]. [http://blog.iphone-dev.org/post/1718400992/ultra-recycle More info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Proposal: [[Category:X-Gold 608]] --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=14976</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=14976"/>
		<updated>2011-01-15T21:12:21Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPhone 4 */  1.59.001 doesnt exist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Latest Apple download links can be found [http://www.itunes.com/version here].&lt;br /&gt;
&lt;br /&gt;
==Comparison of firmware versions==&lt;br /&gt;
&lt;br /&gt;
===[[K66ap|Apple TV (2nd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;40&amp;quot;| [[IBoot (Bootloader)|iBoot]]&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Mojave 8M89 (Apple TV 2G)|Mojave 8M89]]&lt;br /&gt;
| [[IBoot-931.44.21|931.44.21]]&lt;br /&gt;
| [http://appldnld.apple.com/AppleTV/061-8940.20100926.Tvtnz/AppleTV2,1_4.1_8M89_Restore.ipsw AppleTV2,1_4.1_8M89_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;68647d6ce163fc20891ca5bcff647c8eecc2b8d9&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,759,976&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| [[jasper 8C150 (Apple TV 2G)|Jasper 8C150]]&lt;br /&gt;
| [[IBoot-931.71.16|931.71.16]]&lt;br /&gt;
| [http://appldnld.apple.com/AppleTV/061-8747.20101122.Vgtr5/AppleTV2,1_4.2_8C150_Restore.ipsw AppleTV2,1_4.2_8C150_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;58f9ab479783dad3dff3834452abc2917aaef2a5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 279,991,056&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[jasper 8C154 (Apple TV 2G)|Jasper 8C154]]&lt;br /&gt;
| [[IBoot-931.71.16|931.71.16]]&lt;br /&gt;
| [http://appldnld.apple.com/AppleTV/061-9978.20101214.gmabr/AppleTV2,1_4.2.1_8C154_Restore.ipsw AppleTV2,1_4.2.1_8C154_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c2b1adea595afa2b9caf633f0a820d3b66424dbf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 280,052,510&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[K48ap|iPad]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[X-Gold 608#Known iPad Firmware Versions|Baseband]] (3G only)&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|Wildcat 7B367]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; | [[6.15.00]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPad/061-7987.20100403.mjiTr/iPad1,1_3.2_7B367_Restore.ipsw iPad1,1_3.2_7B367_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;172e8297af74b91971a802e6ad137c891f553099&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 478,959,325&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.1&lt;br /&gt;
| [[Wildcat 7B405 (iPad)|Wildcat 7B405]]&lt;br /&gt;
| [http://appldnld.apple.com/iPad/061-8282.20100713.vgtgh/iPad1,1_3.2.1_7B405_Restore.ipsw iPad1,1_3.2.1_7B405_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;de0a2b64cd335d48fb4abc9ed8700f5dbdf768ca&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 479,012,625&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.2&lt;br /&gt;
| [[Wildcat 7B500 (iPad)|Wildcat 7B500]]&lt;br /&gt;
| [http://appldnld.apple.com/iPad/061-8801.20100811.CvfR5/iPad1,1_3.2.2_7B500_Restore.ipsw iPad1,1_3.2.2_7B500_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;68b613f78581d36eab96aa5a007001dff142baa3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 479,001,595&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPad)|Jasper 8C148]]&lt;br /&gt;
| [[7.10.00]]&lt;br /&gt;
| [http://appldnld.apple.com/iPad/061-9857.20101122.VGthy/iPad1,1_4.2.1_8C148_Restore.ipsw iPad1,1_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8717b3bedc925b587566442ad375aa65d857e79a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| 578,084,840&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband Firmware]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;99&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;91&amp;quot;| Publicly available virgin [[unlock]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| [[Alpine 1A420]]&lt;br /&gt;
| [http://img399.imageshack.us/i/iphone2go0.jpg/ 03.06.01_G]&lt;br /&gt;
| iphoneproto.zip&lt;br /&gt;
| &amp;lt;code&amp;gt;6e798e906c6590a7521ef89b731569be6d05b3aa&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prototype; [http://forums.macrumors.com/showthread.php?t=627449 macrumors]&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 109,813,128&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| Heavenly 1A543a&lt;br /&gt;
| 03.11.02_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw iPhone1,1_1.0_1A543a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;fb8bb3ee2e9a997affbb97868599f2995c78209c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial US shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,604,348&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| Heavenly 1C25&lt;br /&gt;
| 03.12.06_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3614.20070731.Nt6Y7/iPhone1,1_1.0.1_1C25_Restore.ipsw iPhone1,1_1.0.1_1C25_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a00b85a7a55d62a94be5fbf5effbc42fd63f3097&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,958&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| Heavenly 1C28&lt;br /&gt;
| 03.14.08_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3823.20070821.vormd/iPhone1,1_1.0.2_1C28_Restore.ipsw iPhone1,1_1.0.2_1C28_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f5c0ff1f84a0202b75a55c3fcb362e415334d1e&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,324&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A109a&lt;br /&gt;
| 04.01.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3883.20070927.In76t/iPhone1,1_1.1.1_3A109a_Restore.ipsw iPhone1,1_1.1.1_3A109a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;d441dd1c71ce18f25d8fc4faa71c1e6eaa02d02c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 159,668,150&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| 04.02.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4037.20071107.5Bghn/iPhone1,1_1.1.2_3B48b_Restore.ipsw iPhone1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;797c02e7d660940e8d9a16cc7229ccf3f67dd8b1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial Euro shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 167,927,501&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| 04.03.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4061.20080115.4Fvn7/iPhone1,1_1.1.3_4A93_Restore.ipsw iPhone1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b3dec7580bd00dc4faf28449d9618ef40aeacc96&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,950,551&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| 04.04.05_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4313.20080226.Sw39i/iPhone1,1_1.1.4_4A102_Restore.ipsw iPhone1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;000811bac096011b50ebf6ec1ec2285b62fda4cb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,946,442&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| [[Big Bear 5A347 (iPhone)|Big Bear 5A347]]&lt;br /&gt;
|rowspan=&amp;quot;11&amp;quot;| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw iPhone1,1_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9c510a3cfce789fa5f92a8f763c231bac82ff6d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;11&amp;quot; {{yes|[[BootNeuter]]}}&lt;br /&gt;
| 228,768,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| [[Big Bear 5B108 (iPhone)|Big Bear 5B108]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5135.20080729.Vfgtr/iPhone1,1_2.0.1_5B108_Restore.ipsw iPhone1,1_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61de6a2bd6ceddc9ecabad1671b91a59b3824bc4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 254,048,068&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| [[Big Bear 5C1 (iPhone)|Big Bear 5C1]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5246.20080818.2V0hO/iPhone1,1_2.0.2_5C1_Restore.ipsw iPhone1,1_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b84b57bea919bdc720287ec908c1378e7d7b5e1b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,589,000&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| [[Sugar Bowl 5F136 (iPhone)|Sugar Bowl 5F136]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5202.20080909.gkbEj/iPhone1,1_2.1_5F136_Restore.ipsw iPhone1,1_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;353b7745767b85932e14e262e69463620939bdf7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,171,241&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| [[Timberline 5G77 (iPhone)|Timberline 5G77]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5779.20081120.Pt5yH/iPhone1,1_2.2_5G77_Restore.ipsw iPhone1,1_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;cbfc6ff886ce89868a55547b9fb980dbf92e6418&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,576,980&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| [[SUTimberline 5H11 (iPhone)|SUTimberline 5H11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5830.20090127.Mmni6/iPhone1,1_2.2.1_5H11_Restore.ipsw iPhone1,1_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;43b95ebe1e51f8d30eae916053396595c08440d3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,593,705&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|Kirkwood 7A341]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw iPhone1,1_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2afd3f8ede17390737f508473ed205506a0bd23f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,394,111&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|Kirkwood 7A400]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6974.20090731.Cf4Tg/iPhone1,1_3.0.1_7A400_Restore.ipsw  iPhone1,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34c391fbbc7b31b159372766de39ce5c9cc26ebb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix for an SMS exploit.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,439,502&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|Northstar 7C144]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6605.20090909.PQ3ws/iPhone1,1_3.1_7C144_Restore.ipsw iPhone1,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b7b5f436f81c6f855410e8b44a3d432ccaacd6fc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,536,460&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7268.20091008.32pNe/iPhone1,1_3.1.2_7D11_Restore.ipsw iPhone1,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e4a1171542dbbd3093516d9c02047b9f7e143050&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,515,888&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7481.20100202.4orot/iPhone1,1_3.1.3_7E18_Restore.ipsw iPhone1,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;eab23a7f8d2a17cb71046c50fc5f67ec390a3c2b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 238,319,275&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N82ap|iPhone 3G]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[X-Gold 608#Known iPhone Firmware Versions|Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;99&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;90&amp;quot;| Publicly available virgin [[unlock]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| [[Big Bear 5A345 (iPhone 3G)|Big Bear 5A345]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; | [[1.45.00]]&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; {{partial|Upgrade to 2.2}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| [[Big Bear 5A347 (iPhone 3G)|Big Bear 5A347]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4955.20080710.bgt53/iPhone1,2_2.0_5A347_Restore.ipsw iPhone1,2_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;af9506ca0034e462674f9f59c5406f159eaf9fc1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,957,125&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| [[Big Bear 5B108 (iPhone 3G)|Big Bear 5B108]]&lt;br /&gt;
| [[1.48.02]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5134.20080729.Q2W3E/iPhone1,2_2.0.1_5B108_Restore.ipsw iPhone1,2_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e81c7ac7e334a3e9d81b3b47894bfaa1ec495482&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 261,224,227&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| [[Big Bear 5C1 (iPhone 3G)|Big Bear 5C1]]&lt;br /&gt;
| [[2.08.01]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5241.20080818.t5Fv3/iPhone1,2_2.0.2_5C1_Restore.ipsw iPhone1,2_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;bef7fef954293046420fbcf947379839178a195b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,761,030&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| [[Sugar Bowl 5F136 (iPhone 3G)|Sugar Bowl 5F136]]&lt;br /&gt;
| [[2.11.07]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5198.20080909.K3294/iPhone1,2_2.1_5F136_Restore.ipsw iPhone1,2_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c6957dcbf2a95ccfd6dce374a727b1b7700a9043&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,341,655&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| [[Timberline 5G77 (iPhone 3G)|Timberline 5G77]]&lt;br /&gt;
| [[2.28.00]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5778.20081120.Aqw4R/iPhone1,2_2.2_5G77_Restore.ipsw iPhone1,2_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f67f8b2b842428bf89456cda0c2d5cf954d111a4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[Ultrasn0w|yellowsn0w]]}}&lt;br /&gt;
| 258,342,348&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| [[SUTimberline 5H11 (iPhone 3G)|SUTimberline 5H11]]&lt;br /&gt;
| [[2.30.03]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5828.20090127.aQLi8/iPhone1,2_2.2.1_5H11_Restore.ipsw iPhone1,2_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e0098e6fab5c90b59e067e03ae3ccd4a7cd0f39c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial|Upgrade to 3.0}}&lt;br /&gt;
| 258,359,073&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|Kirkwood 7A341]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; | [[4.26.08]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw iPhone1,2_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;94f1fb43de12bff0f168ce690b7e794cc6220ae3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,229,233&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|Kirkwood 7A400]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6972.20090731.Zx3Rr/iPhone1,2_3.0.1_7A400_Restore.ipsw  iPhone1,2_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a148ff39fa4dea499e7a9dd007b63e90c4f56666&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix for an SMS exploit.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 241,274,617&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|Northstar 7C144]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; | [[5.11.07]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6600.20090909.AwndZ/iPhone1,2_3.1_7C144_Restore.ipsw iPhone1,2_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b3b3c148170b012012278efda9ff5c38282d559&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,361,339&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw iPhone1,2_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b1a6ab2771bb5da372ba75a8fa3e1d72b71359d0&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,340,786&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| [[5.12.01]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7468.20100202.pbnrt/iPhone1,2_3.1.3_7E18_Restore.ipsw iPhone1,2_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f5950afca546f93e281ba3cdb08bc0cfed7f0896&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 239,139,281&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|Apex 8A293]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; | [[5.13.04]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7436.20100621.58Yt4/iPhone1,2_4.0_8A293_Restore.ipsw iPhone1,2_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee1eba9281b902d7ff3f24d50f9aebff0df27f92&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 306,274,631&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.1&lt;br /&gt;
| [[Apex 8A306 (iPhone 3G)|Apex 8A306]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8616.20100715.phnt4/iPhone1,2_4.0.1_8A306_Restore.ipsw iPhone1,2_4.0.1_8A306_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;940bd2b36c646f6673419eab661ac1f13248e592&amp;lt;/code&amp;gt;&lt;br /&gt;
| New formula to calculate bars. Otherwise, it's the same as 4.0.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 320,237,975&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| [[Apex 8A400 (iPhone 3G)|Apex 8A400]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8802.20100811.XcfpR/iPhone1,2_4.0.2_8A400_Restore.ipsw iPhone1,2_4.0.2_8A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee2bc74719170a7a2440b593b6f300727c930c69&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 320,216,794&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPhone 3G)|Baker 8B117]]&lt;br /&gt;
| [[5.14.02]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-7932.20100908.3fgt5/iPhone1,2_4.1_8B117_Restore.ipsw iPhone1,2_4.1_8B117_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;d87bab469dd1146ab83ddcc23f03b3164d7e09d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{partial|Upgrade baseband to [[6.15.00]]}}&lt;br /&gt;
| 323,137,556&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPhone 3G)|Jasper 8C148]]&lt;br /&gt;
| [[5.15.04]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9853.20101122.Vfgt5/iPhone1,2_4.2.1_8C148_Restore.ipsw iPhone1,2_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;d2ed58586e8ca2153f2e2ec585bba8afc5173378&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{partial|Upgrade baseband to [[6.15.00]]}}&lt;br /&gt;
| 338,579,762&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
Units with the new bootrom began shipping around September 2009.&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[X-Gold 608#Known iPhone Firmware Versions|Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Publicly available virgin [[jailbreak]]? ([[IBoot-359.3|old bootrom]])&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Publicly available virgin [[jailbreak]]? ([[IBoot-359.3.2|new bootrom]])&lt;br /&gt;
!width=&amp;quot;80&amp;quot;| Publicly available virgin [[unlock]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|Kirkwood 7A341]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; | [[4.26.08]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6582.20090617.LlI87/iPhone2,1_3.0_7A341_Restore.ipsw iPhone2,1_3.0_7A341_Restore.ipsw] &lt;br /&gt;
| &amp;lt;code&amp;gt;d8534408c8679c830fd0c4e36ef9762c11ef73df&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; {{no|[[SHSH]]s unavailable at release}}&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,292,933&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone_3GS)|Kirkwood 7A400]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6976.20090731.Vgbt5/iPhone2,1_3.0.1_7A400_Restore.ipsw  iPhone2,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;30006575af931e3da0521febace005152cdb8853&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix for an SMS exploit.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 312,330,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|Northstar 7C144]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; | [[5.11.07]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6609.20090909.mwws4/iPhone2,1_3.1_7C144_Restore.ipsw  iPhone2,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;527c74f87588afa1d69c1e2c08eedc88f113013a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,011,474&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw iPhone2,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6998bb7d9e869b2d89a08853312f9457d070fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 321,015,700&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| [[5.12.01]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw iPhone2,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8cb3775e62c6f72059a962bf891b4e145b965052&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 305,122,343&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|Apex 8A293]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; | [[5.13.04]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw iPhone2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e065245874c73510ceb8fa4bd9388b60d46eb252&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 396,281,280&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.1&lt;br /&gt;
| [[Apex 8A306 (iPhone 3GS)‎|Apex 8A306]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8618.20100715.Zapn4/iPhone2,1_4.0.1_8A306_Restore.ipsw iPhone2,1_4.0.1_8A306_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c2b6fb9a158547ce726baa1bf8f0558a71518fec&amp;lt;/code&amp;gt;&lt;br /&gt;
| New formula to calculate bars. Otherwise, it's the same as 4.0.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 396,322,891&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| [[Apex 8A400 (iPhone 3GS)|Apex 8A400]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8805.20100811.Dcr4e/iPhone2,1_4.0.2_8A400_Restore.ipsw iPhone2,1_4.0.2_8A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61d21363ced6e006cc226f9a0a0e9c6ed8e048ab&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 396,310,640&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPhone 3GS)|Baker 8B117]]&lt;br /&gt;
| [[5.14.02]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-7938.20100908.F3rCk/iPhone2,1_4.1_8B117_Restore.ipsw iPhone2,1_4.1_8B117_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;2d1657cd33ae23b8d4e79e41fe758d09d3c52e30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial|Upgrade baseband to [[6.15.00]]}}&lt;br /&gt;
| 400,572,133&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1+&lt;br /&gt;
| [[Jasper 8C148a (iPhone 3GS)|Jasper 8C148a]]&lt;br /&gt;
| [[5.15.04]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9895.20101122.Cdew2/iPhone2,1_4.2.1_8C148a_Restore.ipsw  iPhone2,1_4.2.1_8C148a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2787bb9fbf18594279d05682e6fd16d2b9612a2a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| {{partial|Upgrade baseband to [[6.15.00]]}}&lt;br /&gt;
| 420,813,164&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[XMM 6180#Known Firmware Versions|Baseband]]&lt;br /&gt;
!width=&amp;quot;40&amp;quot;| [[IBoot (Bootloader)|iBoot]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Publicly available virgin [[unlock]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|Apex 8A293]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; | [[1.59.00]]&lt;br /&gt;
| ?&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7380.20100621,Vfgb5/iPhone3,1_4.0_8A293_Restore.ipsw iPhone3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;171c2a3995fa149f2a369ccd87f82c5c30da3f88&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot; {{Yes|[[ultrasn0w]]}}&lt;br /&gt;
| 607,363,121&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.1&lt;br /&gt;
| [[Apex 8A306 (iPhone 4)|Apex 8A306]]&lt;br /&gt;
| [[iBoot-889.24|889.24]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8619.20100715.4Pnsx/iPhone3,1_4.0.1_8A306_Restore.ipsw iPhone3,1_4.0.1_8A306_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a9cf20679273b7e502ab384854ba96cc2a54d532&amp;lt;/code&amp;gt;&lt;br /&gt;
| New formula to calculate bars. Otherwise, it's the same as 4.0.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 607,380,127&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| [[Apex 8A400 (iPhone 4)|Apex 8A400]]&lt;br /&gt;
| [[iBoot-889.24|889.24]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8807.20100811.3Edre/iPhone3,1_4.0.2_8A400_Restore.ipsw iPhone3,1_4.0.2_8A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;19eb071cdb9f1601b106825d0a16b1449c6eef8c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 607,375,880&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPhone 4)|Baker 8B117]]&lt;br /&gt;
| [[2.10.04]]&lt;br /&gt;
| [[iBoot-931.18.27|931.18.27]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-7939.20100908.Lcyg3/iPhone3,1_4.1_8B117_Restore.ipsw iPhone3,1_4.1_8B117_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;a3f8a333ca181146b862ca6a59c9a6e7c27eba0b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| 618,501,195&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPhone 4)|Jasper 8C148]]&lt;br /&gt;
| [[3.10.01]]&lt;br /&gt;
| [[931.71.16]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9858.20101122.Er456/iPhone3,1_4.2.1_8C148_Restore.ipsw iPhone3,1_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;366b28e9c95936bd4b11a84d54fefaf079fd6411&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
| 654,550,096&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
===[[N45ap|iPod touch (1st generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A100a&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A101a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3882.20070910.N8uyT/iPod1,1_1.1_3A101a_Restore.ipsw iPod1,1_1.1_3A101a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b0d83c7f8b4328174a3f31e0e93f60e591ae143&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 157,890,186&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A110a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw iPod1,1_1.1.1_3A110a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;84bbc6ea8bf29745195bc9926c1874f7c2a36f32&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,906,686&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw iPod1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;108d8ffe9ea75e61cd5e57170ad388b7fa00d923&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 165,567,897&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-4060.20080115.9Iuh5/iPod1,1_1.1.3_4A93_Restore.ipsw iPod1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8dca23eec69d5ae58fbf3d4a23276e46cbb2e3c6&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,511,411&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4312.20080226.Btu45/iPod1,1_1.1.4_4A102_Restore.ipsw iPod1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c148d1eb1c979bb6434175411d4a372103a4fdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,589&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.5&lt;br /&gt;
| Little Bear 4B1&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4841.20080714.bgy8O/iPod1,1_1.1.5_4B1_Restore.ipsw iPod1,1_1.1.5_4B1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;1b818911316e4248ee01d3ec67f9d39afc3db240&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| [[Big Bear 5A347 (iPod touch 1G)|Big Bear 5A347]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;ae82798e85f9953b0f4798bad36187cb020c9d22&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 233,409,573&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| [[Big Bear 5B108 (iPod touch 1G)|Big Bear 5B108]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;a81b6e7af4b85ef436d047f9da57c0f694d8964a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,660,321&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| [[Big Bear 5C1 (iPod touch 1G)|Big Bear 5C1]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,201,218&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| [[Sugar Bowl 5F137 (iPod touch 1G)|Sugar Bowl 5F137]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc7f6d0972927df502ffca47438ca75dcccffaf3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 251,155,156&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| [[Timberline 5G77 (iPod touch 1G)|Timberline 5G77]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;081a7de363230fb38d0ce092cbbe42f2a50c8a5f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,186,851&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| [[SUTimberline 5H11 (iPod touch 1G)|SUTimberline 5H11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc69be9e421bc0630567184506ab771f6b7ef68b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,166,688&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 1G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;dff2bd14931225908a360fb8e60a336f17d2dd6d&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,458,552&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 1G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c6270780c166db4c9f4f0a7fa945754a1f9fe7e8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,755,862&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 1G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;7367dd9ba58a3b9777307368a0128e696fdfc9a6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 249,780,497&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 1G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f897990f19d2f093b35e0813d7d77806404fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,678,189&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch (2nd generation)]]===&lt;br /&gt;
Units with the new bootrom have model numbers that start with &amp;quot;MC.&amp;quot;&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Publicly available virgin [[jailbreak]]? ([[IBoot-240.4|old bootrom]])&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Publicly available virgin [[jailbreak]]? ([[IBoot-240.5.1|new bootrom]])&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.1.1&lt;br /&gt;
| [[Sugar Bowl 5F138 (iPod touch 2G)|Sugar Bowl 5F138]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-5494.20080909.8i9o0/iPod2,1_2.1.1_5F138_Restore.ipsw iPod2,1_2.1.1_5F138_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c3c700be49ad227d1152188e7c1e46b8958fd1e4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; {{no|Incompatible device/&lt;br /&gt;
firmware match}}&lt;br /&gt;
| 282,083,944&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| [[Timberline 5G77a (iPod touch 2G)|Timberline 5G77a]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-5358.20081120.Gtghy/iPod2,1_2.2_5G77a_Restore.ipsw iPod2,1_2.2_5G77a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34a0a489605f34d6cc6c9954edcaaf9a050deedc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 291,123,491&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| [[SUTimberline 5H11a (iPod touch 2G)|SUTimberline 5H11a]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5863.20090127.rt56K/iPod2,1_2.2.1_5H11a_Restore.ipsw iPod2,1_2.2.1_5H11a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9af5625ea34acdd8abeb6fce71a72651d0c815d5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,140,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.x is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 270,315,364&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment for units with the new bootrom.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| 277,753,989&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 277,794,671&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f4f5c01eda2f811f73167e7d1f82dbeed82367b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 263,275,211&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw iPod2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c026c373bc535496a6f901de2ba37d4a487413bf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 330,278,777&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| [[Apex 8A400 (iPod touch 2G)|Apex 8A400]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8551.20100811.Xcder/iPod2,1_4.0.2_8A400_Restore.ipsw iPod2,1_4.0.2_8A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;06a42297d94461264eb64d7c8640cc5d1c19edeb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| 344,248,876&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPod touch 2G)|Baker 8B117]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-7937.20100908.ghj4f/iPod2,1_4.1_8B117_Restore.ipsw iPod2,1_4.1_8B117_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;97abde6207660bd876fd476275dd526d0dcf3d19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 348,027,174&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 2G)|Jasper 8C148]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9855.20101122.Lrft6/iPod2,1_4.2.1_8C148_Restore.ipsw iPod2,1_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;b9efddc7bb4350c237a8d3846af61bbfc8a2f647&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|363,553,480&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
===[[N18ap|iPod touch (3rd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;99&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C145]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-7163.20090909.NtstR/iPod3,1_3.1.1_7C145_Restore.ipsw iPod3,1_3.1.1_7C145_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a3eddbe2cf77858bae7087dc8b2035f0d3097e57&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| 311,702,789&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C146 (iPod touch 3G)|Northstar 7C146]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7238.20090918.23GhT/iPod3,1_3.1.1_7C146_Restore.ipsw iPod3,1_3.1.1_7C146_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f66a7286b261137f25ddbbd84047f9a7ea181904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| 311,690,768&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7271.20091008.Tch23/iPod3,1_3.1.2_7D11_Restore.ipsw iPod3,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;02dcee28d788d594a2939ab564f4f183af6ccdf2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,740,034&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7473.20100202.4i44t/iPod3,1_3.1.3_7E18_Restore.ipsw iPod3,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;375fd469b18bfc0b74c7cfa5b4d5945197b1d106&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 295,870,806&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 3G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7381.20100621.AzSP9/iPod3,1_4.0_8A293_Restore.ipsw iPod3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;36fe02b83f87d6305db572e1644841e3cd64cc7d&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 384,178,784&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| [[Apex 8A400 (iPod touch 3G)|Apex 8A400]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8554.20100811.Bgt54/iPod3,1_4.0.2_8A400_Restore.ipsw iPod3,1_4.0.2_8A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;481b21044130125b117d53207f725b70fb061855&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hotfix to prevent malicious misuse of [[Star]]'s exploits.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 384,203,993&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPod touch 3G)|Baker 8B117]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-7941.20100908.sV9KE/iPod3,1_4.1_8B117_Restore.ipsw iPod3,1_4.1_8B117_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;3162bad4060b7a58c9942ddb483e5bd9bcc5269f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 388,255,189&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 3G)|Jasper 8C148]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9860.20101122.Xsde3/iPod3,1_4.2.1_8C148_Restore.ipsw iPod3,1_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
|&amp;lt;code&amp;gt;1127a042c535f7cf0be950ff8946862d5fb05b36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
| 408,118,620&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
===[[N81ap|iPod touch (4th generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;99&amp;quot;| Publicly available virgin [[jailbreak]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B117 (iPod touch 4G)|Baker 8B117]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-8490.20100901.hyjtR/iPod4,1_4.1_8B117_Restore.ipsw iPod4,1_4.1_8B117_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a464492bf6ad25d65b378c85d8b181f973ede38a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 608,360,672&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| [[Baker 8B118 (iPod touch 4G)|Baker 8B118]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9344.20100922.Urgt43/iPod4,1_4.1_8B118_Restore.ipsw iPod4,1_4.1_8B118_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;331fb1342f5dab8c04cead74384a1e0fc1145952&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 608,360,927&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| [[Jasper 8C148 (iPod touch 4G)|Jasper 8C148]]&lt;br /&gt;
| [http://appldnld.apple.com/iPhone4/061-9859.20101122.$erft/iPod4,1_4.2.1_8C148_Restore.ipsw iPod4,1_4.2.1_8C148_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6a890696126d0cb7f9ccd6b913ecb09cf2029820&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes|Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
|638,177,119&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[Tethered jailbreak]] only.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[VFDecrypt]]&lt;br /&gt;
* [[VFDecrypt Keys]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://www.trejan.com/projects/ipod/ Firmware List]&lt;br /&gt;
*[http://itunes.com/version Apple Firmware XML]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Redsn0w&amp;diff=14893</id>
		<title>Redsn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Redsn0w&amp;diff=14893"/>
		<updated>2011-01-12T16:33:23Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: Undo revision 14891 by Ryccardo (Talk). Windows version was never released.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:redsn0w}}&lt;br /&gt;
[[Image:Redsn0w.png|thumb|redsn0w on Mac OS X]]&lt;br /&gt;
redsn0w was originally called [[QuickPwn]] but due to the theft and exploitation of the name, QuickPWN by quickpwn.com, as of iOS 3.0, QuickPwn was discontinued and redsn0w (at the time, version 0.7) was converted into a [[jailbreak]]ing tool for all current devices as well as providing [[unlock]] support the [[M68ap|iPhone 2G]]. As of version 0.8, the [[N88ap|iPhone 3GS]] can also be jailbroken through redsn0w.&lt;br /&gt;
&lt;br /&gt;
Version 0.9 beta 3 was released for Windows and Mac OS X, and it allows iOS 3.0 through 3.1.2 to be jailbroken. It includes support for all devices except the [[N18ap|iPod touch 3G]], and supports a [[tethered jailbreak]] on [[N88ap|iPhone 3GS]] units and [[N72ap|iPod touch 2G]] units with new bootroms. In addition, this version supports custom boot and recovery mode logos, as well as verbose mode on bootup.&lt;br /&gt;
&lt;br /&gt;
Version [http://wikee.iphwn.org/howto:rs9 0.9.2] supports jailbreaking of all iDevices (at the time) with iOS 3.0 through 3.1.2 on Windows and Mac OS X, as well as 3.1.3 on [[S5L8900]] devices. Version 0.9.3 adds support of internet tethering IPCC hack on those devices and 0.9.4 allows jailbreaking of early [[N72ap|iPod touch 2G]] with iOS 3.1.3.&lt;br /&gt;
&lt;br /&gt;
Version [http://wikee.iphwn.org/howto:rsbeta 0.9.5b5-5] supports jailbreaking the [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]]) with iOS 4.0 on Windows and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
redsn0w [http://blog.iphone-dev.org/post/1718400992 0.9.6b6] can jailbreak iOS 3.2.2, 4.1, and 4.2.1 for every device that supports those versions (except Apple TV 2G), on Windows and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
== Credit ==&lt;br /&gt;
[[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreak for the [[n72ap|iPod touch 2G]].&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.7 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.8 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | July 2009&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iPhone OS 3.0 on the [[n88ap|iPhone 3GS]] only.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports 3.0-3.1.2 on all iPhones and iPod touches ([[tethered jailbreak|tethered]] for newer devices with [[0x24000 Segment Overflow]] closed)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.3 beta ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Contains the IPCC hack to enable tethering on the iPhone 3G and 3GS.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 3.1.3 on [[M68ap|iPhone 2G]], [[N82ap|iPhone 3G]], [[N45ap|iPod touch 1G]], [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | June 21, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 4.0 on [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Resolved a problem with iBooks.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Supposed to fix any APN or MMS issues that users were seeing.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | September 21, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 4.0-4.1 on [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[tethered jailbreak|tethered]] on [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | October 31, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 3.2.2 and 4.0-4.1 on every device that supports those firmwares (except [[N72ap|iPod touch 2G]] with [[iBoot-240.5.1|new bootrom]]) .&lt;br /&gt;
** The [[N82ap|iPhone 3G]], [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]]), and [[N88ap|iPhone 3GS]] ([[iBoot-359.3|old bootrom]]) can also have custom boot logos.&lt;br /&gt;
* The Windows version also includes a function that permits users to restore to a custom [[IPSW File Format|IPSW]], akin to [[PwnageTool]]'s DFU button.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports the installation of custom bundles&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 23, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 28, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
* Can update the baseband on the [[X-Gold 608]] to [[6.15.00]], allowing the reuse of the [[AT+XAPP Vulnerability]]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 6 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 1, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
* Can update the baseband on the [[X-Gold 608]] to [[6.15.00]], allowing the reuse of the [[AT+XAPP Vulnerability]]&lt;br /&gt;
* Allows you to &amp;quot;deactivate&amp;quot; a hacktivated phone, so sbinger's [http://www.bingner.com/SAM.html Subscriber Artificial Module] (SAM) can trick your iPhone and [[iTunes]] into creating legitimate activation tickets.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
==== 0.9.6 release candidate 7 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | January 2, 2011&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Introduced command-line arguments to bypass some screens.&lt;br /&gt;
** -b &amp;lt;filename&amp;gt; to specify your own boot logo PNG&lt;br /&gt;
** -i &amp;lt;filename&amp;gt; to specify your reference IPSW&lt;br /&gt;
** -j to ask redsn0w to “Just boot now tethered for now”&lt;br /&gt;
** -o for [[N88ap|iPhone 3GS]] and [[N72ap|iPod touch 2G]] units vulnerable to [[0x24000 Segment Overflow]].&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
==== 0.9.6 release candidate 8 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | January 5, 2011&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Informs users if a boot logo PNG is invalid, and why.&lt;br /&gt;
* Introduced the &amp;quot;-a&amp;quot; command-line argument to eliminate clicking.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 26, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** Able to achieve an [[untethered jailbreak]] on 4.2.1, provided the user has 4.2b3 [[SHSH]]s and the 4.2b3 [[IPSW File Format|IPSW]].&lt;br /&gt;
*** This version of &amp;quot;Jailbreak Monte&amp;quot; has quite a number of bugs, particularly app switcher crashes and disabled [[Bluetooth]].&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 26, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Fixes crashing bugs on GUI apps.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 27, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Fixes crashing bugs completely.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 31, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* ubsmuxd integrated.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
==== 0.9.7 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | January 8, 2011&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Issues related to [[Bluetooth]] and the sandbox are resolved.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
==== 0.9.7 beta 6 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | January 10, 2011&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* fixes Skype&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits used ==&lt;br /&gt;
For [[M68ap|iPhone]], [[N45ap|iPod touch]], and [[N82ap|iPhone 3G]], see:&lt;br /&gt;
*[[Pwnage]]&lt;br /&gt;
*[[Pwnage 2.0]]&lt;br /&gt;
&lt;br /&gt;
For [[N72ap|iPod touch 2G]], see:&lt;br /&gt;
*[[0x24000 Segment Overflow]]&lt;br /&gt;
*[[ARM7 Go]] - used to upload the oversized [[LLB]] required to utilize the 0x24000 Segment Overflow.&lt;br /&gt;
*[[usb_control_msg(0xA1, 1) Exploit]] - used  (in redsn0w 0.9.6 beta 1) to upload the oversized [[LLB]] to utilize the 0x24000 Segment Overflow, as well as a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]].&lt;br /&gt;
&lt;br /&gt;
For [[N88ap|iPhone 3GS]], see:&lt;br /&gt;
*[[0x24000 Segment Overflow]]&lt;br /&gt;
*[[iBoot Environment Variable Overflow]] - Exploit has a different implementation from [[User:geohot|geohot]]'s implementation in [[purplera1n]].&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
For [[N18ap|iPod touch 3G]]&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
for [[N90ap|iPhone 4]], [[N81ap|iPod touch 4G]], [[K48ap|iPad]] and [[K66ap|Apple TV 2G]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Unlock&amp;diff=14845</id>
		<title>Talk:Unlock</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Unlock&amp;diff=14845"/>
		<updated>2011-01-09T20:45:43Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Page naming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page naming ==&lt;br /&gt;
&lt;br /&gt;
I propose we name this page iPhone(2G) unlock due to links to this page on xgold 608 unlock page (and others) that may be confusing to some. Or we could move the contentets of this page and replace it with some basic info about unlock (what unlocking is. And some links to more specific pages) --[[User:Toddyt1|Toddyt1]] 20:24 (edited 20:45), 9 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=S5L8900&amp;diff=14844</id>
		<title>S5L8900</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=S5L8900&amp;diff=14844"/>
		<updated>2011-01-09T20:28:20Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Application Processor shared between the [[M68ap|iPhone]], [[N45ap|iPod touch]], and the [[N82ap|iPhone 3G]]. Not much is known about it through official sources. This processor is not used in any of the newest devices, being replaced by the [[S5L8720]], [[S5L8920]], [[S5L8922]] and [[S5L8930]].&lt;br /&gt;
&lt;br /&gt;
==[[S5L File Formats|Firmware File Formats]]==&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
===[[iBoot (Bootloader)|iBoot]]===&lt;br /&gt;
* [[Restore Mode]] -  Works up to [[iOS]] 1.0.2&lt;br /&gt;
* [[Ramdisk Hack]] - Works up to [[iOS]] 2.0 beta 3&lt;br /&gt;
* [[diags]] - Works up to [[iOS]] 2.0 beta 5&lt;br /&gt;
* [[iBoot Environment Variable Overflow]] - Works up to [[iOS]] 3.1 beta 3&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] - Works up to [[iOS]] 3.1.2&lt;br /&gt;
&lt;br /&gt;
===[[VROM (S5L8900)|Bootrom]]===&lt;br /&gt;
* [[pwnage|Pwnage 1.0 (Ramdisk + AppleImage2NORAccess)]]&lt;br /&gt;
* [[Pwnage 2.0|Pwnage 2.0 (DFU + Malformed Certificate)]]&lt;br /&gt;
&lt;br /&gt;
=== [[Kernel]] ===&lt;br /&gt;
* [[BPF STX Kernel Write Exploit]] - Works up to [[iOS]] 3.1.3&lt;br /&gt;
* [[IOSurface Kernel Exploit]] - Works up to [[iOS]] 4.0.1&lt;br /&gt;
&lt;br /&gt;
=== [[Userland]] ===&lt;br /&gt;
* [[Symlinks]] - Works up to [[iOS]] 1.1.1&lt;br /&gt;
* [[LibTiff]] - Works up to [[iOS]] 1.1.1&lt;br /&gt;
* [[Mknod]] - Works up to [[iOS]] 1.1.2&lt;br /&gt;
* [[Dual Boot Exploit]] - Works up to [[iOS]] 2.0 beta 3&lt;br /&gt;
* [[MobileBackup Copy Exploit]] - Works up to [[iOS]] 3.1.3&lt;br /&gt;
* [[Malformed CFF Vulnerability]] - Works up to [[iOS]] 4.0.1&lt;br /&gt;
&lt;br /&gt;
==Boot Chain==&lt;br /&gt;
[[VROM (S5L8900)]]-&amp;gt;[[LLB]]-&amp;gt;[[iBoot (Bootloader)|iBoot]]-&amp;gt;[[Kernel]]-&amp;gt;[[Firmware|System Software]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of the [[iPhoneLinux]] goals are to replace that Boot Chain after iBoot:&lt;br /&gt;
&lt;br /&gt;
[[VROM (S5L8900)]]-&amp;gt;OpeniBoot-&amp;gt;Linux Kernel-&amp;gt;X Server-&amp;gt;Window Manager&lt;br /&gt;
&lt;br /&gt;
==Upgrade Process==&lt;br /&gt;
&lt;br /&gt;
=== [[Restore Mode]] ===&lt;br /&gt;
The common upgrade process chain is [[VROM]]-&amp;gt;[[DFU Mode]]-&amp;gt;[[WTF]]-&amp;gt;[[iBoot (Bootloader)|iBoot]]-&amp;gt;[[Kernel]]-&amp;gt;[[Ramdisk]]-&amp;gt;[[Restore Mode]].&lt;br /&gt;
&lt;br /&gt;
=== [[DFU Mode]] ===&lt;br /&gt;
To flash an older version of the iPhone software you have to let your phone reside in [[DFU Mode]]. In iTunes you have to press the option key (Mac) or the shift key (Windows) when pressing 'Restore' to be able to manually chose an [[IPSW File Format|IPSW]].&lt;br /&gt;
&lt;br /&gt;
==== Boot Chain ====&lt;br /&gt;
[[VROM]]-&amp;gt;[[DFU Mode]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf Technical Reference Manual: ARM1176JZF-S]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Unlock&amp;diff=14843</id>
		<title>Talk:Unlock</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Unlock&amp;diff=14843"/>
		<updated>2011-01-09T20:24:02Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: New page: == Page naming ==  I propose we name this page iPhone(2G) unlock due to links to this page on xgold 608 unlock page (and others) that may be confusing to some. --~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page naming ==&lt;br /&gt;
&lt;br /&gt;
I propose we name this page iPhone(2G) unlock due to links to this page on xgold 608 unlock page (and others) that may be confusing to some. --[[User:Toddyt1|Toddyt1]] 20:24, 9 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:Beau&amp;diff=14842</id>
		<title>User talk:Beau</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:Beau&amp;diff=14842"/>
		<updated>2011-01-09T20:14:09Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hi Beau, i'm thankful for your theiphonewiki twitter bot :)  is it a known issue that it'll often post duplicates and updates out of order? --[[User:Beej|Beej]] 23:39, 28 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Hey Beej! Sorry for the incredibly delayed reply, I've been lazy. I believe I've fixed the twitter bots now; originally it was a caching problem but now I believe I've fixed it. If there's any more problems, don't hesitate to shout! --[[User:Beau|Beau]] 11:23, 9 January 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hey. We are still getting duplicate tweets. --[[User:Toddyt1|Toddyt1]] 20:12, 9 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:Beau&amp;diff=14841</id>
		<title>User talk:Beau</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:Beau&amp;diff=14841"/>
		<updated>2011-01-09T20:12:49Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hi Beau, i'm thankful for your theiphonewiki twitter bot :)  is it a known issue that it'll often post duplicates and updates out of order? --[[User:Beej|Beej]] 23:39, 28 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Hey Beej! Sorry for the incredibly delayed reply, I've been lazy. I believe I've fixed the twitter bots now; originally it was a caching problem but now I believe I've fixed it. If there's any more problems, don't hesitate to shout! --[[User:Beau|Beau]] 11:23, 9 January 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Hey. We are still getting duplicate tweets. --[[User:Toddyt1|Toddyt1]] 20:12, 9 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:X-Gold_608_Unlock&amp;diff=14840</id>
		<title>Talk:X-Gold 608 Unlock</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:X-Gold_608_Unlock&amp;diff=14840"/>
		<updated>2011-01-09T20:09:15Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* NCK Bruteforcer? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting some sensitive BB info ? ==&lt;br /&gt;
Q: How do I get (Which AT Command to use maybe ?) to sensitive baseband information (like battery consumption/RX/TX power) ?&lt;br /&gt;
&lt;br /&gt;
== current 3G unlock status?? ==&lt;br /&gt;
&lt;br /&gt;
just citing:&lt;br /&gt;
&lt;br /&gt;
:'''Q:''' You can take 1.45.00 (or at least 1.43.00), patch it somewhere, flash this file and it's run? Yes or no?&lt;br /&gt;
&lt;br /&gt;
:'''A:''' No(t yet as easy as that, but be sure we're on it) :p Zf&lt;br /&gt;
&lt;br /&gt;
So, that's very good news :) -caique2001-&lt;br /&gt;
&lt;br /&gt;
To speak more technical... The X-Gold 608 has TPM features. So normally one would expect it only to run signed code. This in turn means, it doesn't matter if the code is interchangeable, because only original Apple code can be run. The crucial hack needed is the hack to run ''unsigned'' code, say patched code (as Apple's private key to sign is not known of course).&lt;br /&gt;
&lt;br /&gt;
TPM doesn't come into play here.   We're running unsigned code, and convincing s-gold3 bootrom we deserve a downgrade.  It happily complies.&lt;br /&gt;
&lt;br /&gt;
Wow! Even more good news :-) Where do we have to send the beer to :-) ?? If it should not go to much into detail, could you shortly explain what issue you are currently working on? The fact you have the possibility to run patched unsigned code, does it imply you are currently working on a patch that actually does the unlock? And does TPM come into play here or are there other issues to be solved? caique2001&lt;br /&gt;
&lt;br /&gt;
I would assume that with unsigned code, you could patch the 3G equivalant of Simple Unlock. IIRC, geohot has already found the bits. we just need a way to patch them. About bypassing TPM...it would be interesting to see how this is done. Perhaps a malformed sig like with pwnage 2.0 and DFU mode? guess we will just have to wait and see :P [[User:ChronicDev|ChronicDev]]&lt;br /&gt;
&lt;br /&gt;
== opensource baseband? ==&lt;br /&gt;
Is to make one? With 3G support? or modify the 4.6 baseband to have have 3g support?&lt;br /&gt;
&lt;br /&gt;
4.6 is on different platform, you cannot modify that for 3G.&lt;br /&gt;
&lt;br /&gt;
== get unlocked bootloader ?? ==&lt;br /&gt;
&lt;br /&gt;
as in countrys like belgium, the 3g is sold without any carrier lock. (belgium law)&lt;br /&gt;
&lt;br /&gt;
wouldnt it be possible to get the bootloader from such an iphone and transfer it to any other device ??&lt;br /&gt;
&lt;br /&gt;
/harald&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Bootloader&amp;quot; has NOTHING todo with official unlock (or unlock). Official Unlock is IMHO done by IMEI and NCK.  ~wEsTbAeR--&lt;br /&gt;
&lt;br /&gt;
== Find the theorized algorithm of NCK generation  ==&lt;br /&gt;
&lt;br /&gt;
Isn't this what the thousands of keygens for PC apps do? Why is it so much harder to do it for the iPhone? Is it because you would normally decompile the software that does the validation, and this is run on apple servers and so is inaccessible? Sorry, just thinking out loud...&lt;br /&gt;
&lt;br /&gt;
Reply: In softwares we can (after a good amount of work) see the routine that is used to verify the numbers you input. In the iPhone it's not that simple. We know the routine but we don't know what the iPhone starts with (or even if it's generated of the iPhone's serial or just a number in a database)&lt;br /&gt;
&lt;br /&gt;
Example: In a software, you input your name and a serial number. The software gets your name, translates it to numbers and does some math like (FirstLetter)*(SecondLetter)/(ThirdLetter + FourthLetter)&lt;br /&gt;
&lt;br /&gt;
So by knowing those rules, we run the same routine in a software and find out what the original software will expect when you input a name such as &amp;quot;funny&amp;quot;. Then you use &amp;quot;funny&amp;quot; and 129837987239187 as serial and it works.&lt;br /&gt;
&lt;br /&gt;
On the iPhone we don't know what the &amp;quot;name&amp;quot; is. We know your iphone will do something like TEA(RSA(token+&amp;quot;name&amp;quot;)) and will compare the response of that with what is has stored in it.&lt;br /&gt;
&lt;br /&gt;
Some people believe the NCK (aka &amp;quot;name&amp;quot; in the above example) doesn't have any relation to the numbers on the phone, such as the serial, IMEI, etc. Some people believe Apple has a big table of numbers relating one NCK for each SERIAL but the NCK isn't formed from the serial.&lt;br /&gt;
&lt;br /&gt;
I don't believe so...I think it's a number generated by the IMEI,Serial and any other unique numbers. Either with all of them, or parts of each. I started coding a program that would do a different search than Geohot's NCKBruteForcer. He was trying all the combinations and would eventually find the correct answer for each iPhone but it would take a million years with the computing power we have. I thought of it in a different way. I would assume that the NCK is made by a rule out of the combination of the following &amp;quot;items&amp;quot; [-, +, /, *, ^, Log, Ln, Log(2), exp, mod, imei, serial] and then code something to  search for all the rules inside that space such as imei*serial/log(serial)+imei for instance. Another idea was that they could use only a couple digits of each, so something like this would be possible: (3 digits of imei)*(first digit of serial)^(4 last digits of imei) mod (2 last digits of serial) .. and so on. This would be a smaller search than Geohots but would not work if Apple has a table with all the NCKs.&lt;br /&gt;
&lt;br /&gt;
I was coding this for the 1.1.4 OOTB when Geohot found the exploit and unlocked it. So I gave up..but maybe it's time to look at it again. ~ Deco&lt;br /&gt;
&lt;br /&gt;
== Unlock by changing model and serial number ==&lt;br /&gt;
&lt;br /&gt;
Chinese grey-market importers are reportedly unlocking the iPhone 3G by changing the model and serial numbers stored in the phone to match the Hong Kong version. Can someone please test if this method works? {{unsigned|Cynix|11:14, November 6, 2008 (UTC)}}&lt;br /&gt;
&lt;br /&gt;
== Bootrom dump ==&lt;br /&gt;
&lt;br /&gt;
In the article: &amp;quot;The Dev-Team successfully dumped the bootrom, but they won't release it as it's copyrighted code.&amp;quot;&lt;br /&gt;
What does this mean? Copyrighted by Dev-Team??? If copyright by Apple is meant, then we should be able to get it from somewhere. Right? -- [[User:Http|http]] 22:23, 14 April 2010 (UTC)&lt;br /&gt;
:It's copyrighted by either Infineon or Apple. I've never seen any download link for it, so you'll probably have a tough time finding it. --[[User:Dialexio|Dialexio]] 22:57, 14 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== NCK Bruteforcer? ==&lt;br /&gt;
&lt;br /&gt;
Just curious as to why this is included on this page (and the x-gold 618 unlock page aswell) as it is stated on the [[NCK]] page &amp;quot;Network Control Key. The 15-digit key required to &amp;quot;legitimately&amp;quot; unlock the iPhone 2G. Every other iPhone revision is unlocked with a WildcardTicket which permits every MNC/MCC/ICCID combination&amp;quot;. Thought it was best not to remove it encase i missing something --[[User:Toddyt1|Toddyt1]] 21:44, 8 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=X-Gold_608_Unlock&amp;diff=14839</id>
		<title>X-Gold 608 Unlock</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=X-Gold_608_Unlock&amp;diff=14839"/>
		<updated>2011-01-09T20:06:11Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: Removed &amp;quot;until recently...&amp;quot; due to 3g software unlock having been out 2 years.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 3G software [[unlock]] proved more difficult than the previous unlocks due to the fact that the [[Baseband Bootloader|baseband bootloader]] is signature checked by the bootrom. The [[iPhone Dev Team]] has successfully unlocked baseband firmwares by overriding carrier locks on-the-fly in RAM, therefore at boot the baseband bootrom can validate the bootloader, and the bootloader can validate the baseband.&lt;br /&gt;
&lt;br /&gt;
==RAM Unlock History==&lt;br /&gt;
On December 21, 2008, [[User:MuscleNerd|MuscleNerd]] demonstrated [[yellowsn0w]], the first unlock.[http://qik.com/video/729275] Originally, yellowsn0w was designed for basebands [[2.04.03]] and earlier, until [[User:Geohot|geohot]] shared the [[AT+stkprof Exploit]] with them. On January 27, 2009, Apple released iOS 2.2.1, which contained baseband [[2.30.03]] and patched said exploit.&lt;br /&gt;
&lt;br /&gt;
[[User:Oranav|Oranav]] discovered another exploit (the [[AT+XLOG Vulnerability]]), and shared it with the iPhone Dev Team for the next unlock. The iPhone Dev Team kept it under wraps to target firmware 3.0 and the [[N88ap|iPhone 3GS]]. The unlock, codenamed [[ultrasn0w]], was released to the public on 23 June 2009 for baseband [[4.26.08]] only. [http://blog.iphone-dev.org/post/128573459]&lt;br /&gt;
&lt;br /&gt;
iOS 3.1 contained a baseband [[5.11.07]], which patched the [[AT+XLOG Vulnerability]]. The [[AT+XEMN Heap Overflow]] was exploited in a new unlock named [[blacksn0w]], released by [[User:Geohot|geohot]] on 3 November 2009. A few months later, the vulnerability was patched in baseband [[5.12.01]].&lt;br /&gt;
&lt;br /&gt;
When iOS 4.0 was publicly released, an updated release of [[ultrasn0w]] was released, using the [[AT+XAPP Vulnerability]] to unlock all basebands found in firmwares 3.0 through 4.0. Apple countered this with [[5.14.02|a baseband update]] in iOS 4.1.&lt;br /&gt;
&lt;br /&gt;
==Possible Methods==&lt;br /&gt;
===Class 1===&lt;br /&gt;
* Find an exploit in the [[Baseband Bootrom|bootrom]] to break the chain of trust. The [[iPhone Dev Team|Dev-Team]] successfully dumped the [[Baseband Bootrom|bootrom]], but they won't release it as it's copyrighted code.&lt;br /&gt;
* Improve by several orders of magnitude the [[NCK Brute Force|NCK brute forcer]], and find a way to extract the [[CHIPID]] and [[NORID]]&lt;br /&gt;
* Find the theorized algorithm of [[NCK]] generation&lt;br /&gt;
* Factorize the [[Baseband_RSA_Keys|RSA keys]] used for signing&lt;br /&gt;
* Find a [[wikipedia:Preimage_attack|second preimage]] for a signature&lt;br /&gt;
&lt;br /&gt;
===Class 2===&lt;br /&gt;
* Use a [[SIM hacks|SIM hack]] such as the [[Unlock iPhone 3G with TurboSim|TurboSIM Unlock]]&lt;br /&gt;
* Find a way to patch running memory to &amp;quot;unlock&amp;quot; the phone on every bootup. This is how [[ultrasn0w]] works.&lt;br /&gt;
* Find an exploit in the [[Baseband Bootloader]] so you can downgrade the baseband, then use ultrasn0w. [[User:Geohot|Geohot]] and the [[iPhone Dev Team]] found (independently) an exploit in bootloader 5.8, but it isn't useful enough as only very-early (week&amp;lt;30) iPhone 3G units have bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* Read about the [[X-Gold 608]]&lt;br /&gt;
* Read geohot's [http://iphonejtag.blogspot.com/2008/07/infineon-we-have-problem.html blog post]&lt;br /&gt;
* Read dogbert's [http://dogber1.blogspot.com/2010/06/how-to-protect-better-apple-iphone.html blog post]&lt;br /&gt;
* [[25C3 presentation &amp;quot;Hacking the iPhone&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Redsn0w&amp;diff=14831</id>
		<title>Redsn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Redsn0w&amp;diff=14831"/>
		<updated>2011-01-09T10:54:15Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 0.9.7 beta 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:redsn0w}}&lt;br /&gt;
[[Image:Redsn0w.png|thumb|redsn0w on Mac OS X]]&lt;br /&gt;
redsn0w was originally called [[QuickPwn]] but due to the theft and exploitation of the name, QuickPWN by quickpwn.com, as of iOS 3.0, QuickPwn was discontinued and redsn0w (at the time, version 0.7) was converted into a [[jailbreak]]ing tool for all current devices as well as providing [[unlock]] support the [[M68ap|iPhone 2G]]. As of version 0.8, the [[N88ap|iPhone 3GS]] can also be jailbroken through redsn0w.&lt;br /&gt;
&lt;br /&gt;
Version 0.9 beta 3 was released for Windows and Mac OS X, and it allows iOS 3.0 through 3.1.2 to be jailbroken. It includes support for all devices except the [[N18ap|iPod touch 3G]], and supports a [[tethered jailbreak]] on [[N88ap|iPhone 3GS]] units and [[N72ap|iPod touch 2G]] units with new bootroms. In addition, this version supports custom boot and recovery mode logos, as well as verbose mode on bootup.&lt;br /&gt;
&lt;br /&gt;
Version [http://wikee.iphwn.org/howto:rs9 0.9.2] supports jailbreaking of all iDevices (at the time) with iOS 3.0 through 3.1.2 on Windows and Mac OS X, as well as 3.1.3 on [[S5L8900]] devices. Version 0.9.3 adds support of internet tethering IPCC hack on those devices and 0.9.4 allows jailbreaking of early [[N72ap|iPod touch 2G]] with iOS 3.1.3.&lt;br /&gt;
&lt;br /&gt;
Version [http://wikee.iphwn.org/howto:rsbeta 0.9.5b5-5] supports jailbreaking the [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]]) with iOS 4.0 on Windows and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
redsn0w [http://blog.iphone-dev.org/post/1718400992 0.9.6b6] can jailbreak iOS 3.2.2, 4.1, and 4.2.1 for every device that supports those versions (except Apple TV 2G), on Windows and Mac OS X.&lt;br /&gt;
&lt;br /&gt;
== Credit ==&lt;br /&gt;
[[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| ?&lt;br /&gt;
|&lt;br /&gt;
* Jailbreak for the [[n72ap|iPod touch 2G]].&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.7 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.8 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | July 2009&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iPhone OS 3.0 on the [[n88ap|iPhone 3GS]] only.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports 3.0-3.1.2 on all iPhones and iPod touches ([[tethered jailbreak|tethered]] for newer devices with [[0x24000 Segment Overflow]] closed)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.3 beta ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Contains the IPCC hack to enable tethering on the iPhone 3G and 3GS.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 3.1.3 on [[M68ap|iPhone 2G]], [[N82ap|iPhone 3G]], [[N45ap|iPod touch 1G]], [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | June 21, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 4.0 on [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Resolved a problem with iBooks.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.5 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Unknown&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Supposed to fix any APN or MMS issues that users were seeing.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | September 21, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 4.0-4.1 on [[N82ap|iPhone 3G]] and [[N72ap|iPod touch 2G]] ([[tethered jailbreak|tethered]] on [[iBoot-240.5.1|new bootrom]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | October 31, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports jailbreaking iOS 3.2.2 and 4.0-4.1 on every device that supports those firmwares (except [[N72ap|iPod touch 2G]] with [[iBoot-240.5.1|new bootrom]]) .&lt;br /&gt;
** The [[N82ap|iPhone 3G]], [[N72ap|iPod touch 2G]] ([[iBoot-240.4|old bootrom]]), and [[N88ap|iPhone 3GS]] ([[iBoot-359.3|old bootrom]]) can also have custom boot logos.&lt;br /&gt;
* The Windows version also includes a function that permits users to restore to a custom [[IPSW File Format|IPSW]], akin to [[PwnageTool]]'s DFU button.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Supports the installation of custom bundles&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 23, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | November 28, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
* Can update the baseband on the [[X-Gold 608]] to [[6.15.00]], allowing the reuse of the [[AT+XAPP Vulnerability]]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.6 beta 6 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 1, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** [[Tethered jailbreak]] on devices that are not vulnerable to [[Pwnage 2.0]] or [[0x24000 Segment Overflow]].&lt;br /&gt;
* Can update the baseband on the [[X-Gold 608]] to [[6.15.00]], allowing the reuse of the [[AT+XAPP Vulnerability]]&lt;br /&gt;
* Allows you to &amp;quot;deactivate&amp;quot; a hacktivated phone, so sbinger's [http://www.bingner.com/SAM.html Subscriber Artificial Module] (SAM) can trick your iPhone and [[iTunes]] into creating legitimate activation tickets.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 26, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Jailbreaks iOS 4.1-4.2.1 on all supported devices.&lt;br /&gt;
** Able to achieve an [[untethered jailbreak]] on 4.2.1, provided the user has 4.2b3 [[SHSH]]s and the 4.2b3 [[IPSW File Format|IPSW]].&lt;br /&gt;
*** This version of &amp;quot;Jailbreak Monte&amp;quot; has quite a number of bugs, particularly app switcher crashes and disabled [[Bluetooth]].&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 26, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Fixes crashing bugs on GUI apps from redsn0w 0.9.7b1.&lt;br /&gt;
* [[Bluetooth]] is non-functional due to a [[sandbox]] issue.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 27, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* Fixes crashing bugs completely from redsn0w 0.9.7b2.&lt;br /&gt;
* [[Bluetooth]] is non-functional due to a [[sandbox]] issue.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | December 31, 2010&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* ubsmuxd integrated.&lt;br /&gt;
* [[Bluetooth]] is non-functional due to a [[sandbox]] issue.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;white-space: nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 0.9.7 beta 5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | january 8, 2011&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
* ubsmuxd integrated.&lt;br /&gt;
* [[Bluetooth]] is functional &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:150px;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:175px;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Mac OS X-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center; width:75px;&amp;quot; | Windows-compatible?&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9; text-align:center;&amp;quot; | Changes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits used ==&lt;br /&gt;
For [[N45ap|iPod touch]], [[M68ap|iPhone]] and [[N82ap|iPhone 3G]], see:&lt;br /&gt;
*[[Pwnage]]&lt;br /&gt;
*[[Pwnage 2.0]]&lt;br /&gt;
&lt;br /&gt;
For [[N72ap|iPod touch 2G]], see:&lt;br /&gt;
*[[0x24000 Segment Overflow]]&lt;br /&gt;
*[[ARM7 Go]] - used to upload the oversized [[LLB]] required to utilize the 0x24000 Segment Overflow.&lt;br /&gt;
*[[usb_control_msg(0xA1, 1) Exploit]] - used  (in redsn0w 0.9.6 beta 1) to upload the oversized [[LLB]] to utilize the 0x24000 Segment Overflow, as well as a [[tethered jailbreak]] on units with the [[iBoot-240.5.1|new bootrom]].&lt;br /&gt;
&lt;br /&gt;
For [[N88ap|iPhone 3GS]], see:&lt;br /&gt;
*[[0x24000 Segment Overflow]]&lt;br /&gt;
*[[iBoot Environment Variable Overflow]] - Exploit has a different implementation from [[User:geohot|geohot]]'s implementation in [[purplera1n]].&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
For [[N18ap|iPod touch 3G]]&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
for [[N90ap|iPhone 4]], [[N81ap|iPod touch 4G]], [[K48ap|iPad]] and [[K66ap|Apple TV 2G]]&lt;br /&gt;
*limera1n exploit&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bootrom&amp;diff=14818</id>
		<title>Bootrom</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bootrom&amp;diff=14818"/>
		<updated>2011-01-08T22:38:42Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction / old+new==&lt;br /&gt;
The bootrom (called &amp;quot;SecureROM&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;old bootrom&amp;quot; and &amp;quot;new bootrom.&amp;quot; These &amp;quot;new bootrom&amp;quot; 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]].&lt;br /&gt;
&lt;br /&gt;
You might also be looking for [[iBoot (Bootloader)|Apple's stage 2 bootloader]], which also uses the &amp;quot;iBoot&amp;quot; name.&lt;br /&gt;
&lt;br /&gt;
==Finding bootrom version==&lt;br /&gt;
===From the model number ([[n72ap|iPod Touch 2G]])===&lt;br /&gt;
If the second character of your Model Number is &amp;quot;B&amp;quot; (as in &amp;quot;MB533&amp;quot; or &amp;quot;PB533&amp;quot;), your iPod has the old bootrom. If the second character is &amp;quot;C&amp;quot; (as in &amp;quot;MC086&amp;quot; or &amp;quot;PC086&amp;quot;), your iPod has the new bootrom.&lt;br /&gt;
&lt;br /&gt;
===From the serial number ([[n88ap|iPhone 3GS]])===&lt;br /&gt;
The third digit of the serial number identifies the year of manufacture (9=2009, 0=2010), while the fourth and the fifth indicate the week. The first &amp;quot;new bootrom&amp;quot; devices are from week 40 of 2009 (??940?????? or higher serials). Any iPhone made after Week 45 of 2009 (??945?????? and higher or ??0???????? serials) has the new bootrom.&lt;br /&gt;
&lt;br /&gt;
===From the iBoot version ([[n88ap|iPhone 3GS]])===&lt;br /&gt;
If a '''.2''' (eg. 636.66.2) is behind the [[iBoot (Bootloader)|iBoot Version]] then it contains the Newer iPhone 3GS Bootrom.&lt;br /&gt;
&lt;br /&gt;
===From the DFU Device descriptors (All devices)===&lt;br /&gt;
====Windows====&lt;br /&gt;
# Connect Device &amp;amp; Enter [[DFU Mode]] &lt;br /&gt;
# Open Device Manager, find USB controller, subitem Apple Mobile Device USB Driver&lt;br /&gt;
# Right-Click &amp;amp; click Properties&lt;br /&gt;
# Go to Details tab &amp;amp; select Device Instance Path in the dropdown box&lt;br /&gt;
# The end of the info string will show the bootrom version&lt;br /&gt;
&lt;br /&gt;
====Mac OS X====&lt;br /&gt;
# Connect Device &amp;amp; Enter [[DFU Mode]]&lt;br /&gt;
# Go to System Profiler, and under the Hardware category, go to USB, and click on Apple Mobile Device (DFU Mode)&lt;br /&gt;
# The end of the info string will show the bootrom version&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
# Install gnome-device-manager and start it&lt;br /&gt;
# Connect Device &amp;amp; Enter [[DFU Mode]] &lt;br /&gt;
# Search in the left tree-view for USB Device and look at Summary -&amp;gt; Model until it says Apple Mobile Device (DFU Mode)&lt;br /&gt;
# If it does go to Properties (next to Summary) and search for usb_device.serial&lt;br /&gt;
# The end of the String will show you the bootrom version&lt;br /&gt;
&lt;br /&gt;
== Revisions ==&lt;br /&gt;
===[[S5L8720]], used in the [[N72ap|iPod touch 2G]]===&lt;br /&gt;
* [[iBoot-240.4]] &amp;quot;old bootrom&amp;quot;&lt;br /&gt;
* [[iBoot-240.5.1]] &amp;quot;new bootrom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===[[S5L8920]], used in the [[N88ap|iPhone 3GS]]===&lt;br /&gt;
* [[iBoot-359.3]] &amp;quot;old bootrom&amp;quot;&lt;br /&gt;
* [[iBoot-359.3.2]] &amp;quot;new bootrom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===[[S5L8922]], used in the [[N18ap|iPod touch 3G]]===&lt;br /&gt;
* [[iBoot-359.5]]&lt;br /&gt;
&lt;br /&gt;
===[[S5L8930]], used in the [[K48ap|iPad]], [[N90ap|iPhone 4]], [[K66ap|Apple TV 2G]] and [[N81ap|iPod touch 4G]]===&lt;br /&gt;
* [[iBoot-574.4]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14812</id>
		<title>User:Toddyt1</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14812"/>
		<updated>2011-01-08T22:00:46Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi. :)&lt;br /&gt;
&lt;br /&gt;
I'm toddyt1. Otherwise known as Thomas Todd. I'am interested in computers and computing related things. I'am also very interested in learning about the iphone. Sorry about multiple, rapid sequential edits i make to pages i often edit from my iPhone. Currently I am not jailbroken but still actively follow what is happening in the scene&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14811</id>
		<title>User:Toddyt1</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14811"/>
		<updated>2011-01-08T22:00:16Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi. :)&lt;br /&gt;
&lt;br /&gt;
== About Me ==&lt;br /&gt;
I'm toddyt1. Otherwise known as Thomas Todd. I'am interested in computers and computing related things. I'am also very interested in learning about the iphone. Sorry about multiple, rapid sequential edits i make to pages i often edit from my iPhone. Currently I am not jailbroken but still actively follow what is happening in the scene&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14809</id>
		<title>User:Toddyt1</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Toddyt1&amp;diff=14809"/>
		<updated>2011-01-08T21:54:12Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: New page: == About Me == I'm toddyt1. Otherwise known as Thomas Todd. I'am interested in computers and computing related things. I'am also very interested in learning about the iphone. Sorry about m...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I'm toddyt1. Otherwise known as Thomas Todd. I'am interested in computers and computing related things. I'am also very interested in learning about the iphone. Sorry about multiple, rapid sequential edits i make to pages i often edit from my iPhone. Currently I am not jailbroken but still actively follow what is happening in the scene&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:X-Gold_608_Unlock&amp;diff=14808</id>
		<title>Talk:X-Gold 608 Unlock</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:X-Gold_608_Unlock&amp;diff=14808"/>
		<updated>2011-01-08T21:44:58Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting some sensitive BB info ? ==&lt;br /&gt;
Q: How do I get (Which AT Command to use maybe ?) to sensitive baseband information (like battery consumption/RX/TX power) ?&lt;br /&gt;
&lt;br /&gt;
== current 3G unlock status?? ==&lt;br /&gt;
&lt;br /&gt;
just citing:&lt;br /&gt;
&lt;br /&gt;
:'''Q:''' You can take 1.45.00 (or at least 1.43.00), patch it somewhere, flash this file and it's run? Yes or no?&lt;br /&gt;
&lt;br /&gt;
:'''A:''' No(t yet as easy as that, but be sure we're on it) :p Zf&lt;br /&gt;
&lt;br /&gt;
So, that's very good news :) -caique2001-&lt;br /&gt;
&lt;br /&gt;
To speak more technical... The X-Gold 608 has TPM features. So normally one would expect it only to run signed code. This in turn means, it doesn't matter if the code is interchangeable, because only original Apple code can be run. The crucial hack needed is the hack to run ''unsigned'' code, say patched code (as Apple's private key to sign is not known of course).&lt;br /&gt;
&lt;br /&gt;
TPM doesn't come into play here.   We're running unsigned code, and convincing s-gold3 bootrom we deserve a downgrade.  It happily complies.&lt;br /&gt;
&lt;br /&gt;
Wow! Even more good news :-) Where do we have to send the beer to :-) ?? If it should not go to much into detail, could you shortly explain what issue you are currently working on? The fact you have the possibility to run patched unsigned code, does it imply you are currently working on a patch that actually does the unlock? And does TPM come into play here or are there other issues to be solved? caique2001&lt;br /&gt;
&lt;br /&gt;
I would assume that with unsigned code, you could patch the 3G equivalant of Simple Unlock. IIRC, geohot has already found the bits. we just need a way to patch them. About bypassing TPM...it would be interesting to see how this is done. Perhaps a malformed sig like with pwnage 2.0 and DFU mode? guess we will just have to wait and see :P [[User:ChronicDev|ChronicDev]]&lt;br /&gt;
&lt;br /&gt;
== opensource baseband? ==&lt;br /&gt;
Is to make one? With 3G support? or modify the 4.6 baseband to have have 3g support?&lt;br /&gt;
&lt;br /&gt;
4.6 is on different platform, you cannot modify that for 3G.&lt;br /&gt;
&lt;br /&gt;
== get unlocked bootloader ?? ==&lt;br /&gt;
&lt;br /&gt;
as in countrys like belgium, the 3g is sold without any carrier lock. (belgium law)&lt;br /&gt;
&lt;br /&gt;
wouldnt it be possible to get the bootloader from such an iphone and transfer it to any other device ??&lt;br /&gt;
&lt;br /&gt;
/harald&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Bootloader&amp;quot; has NOTHING todo with official unlock (or unlock). Official Unlock is IMHO done by IMEI and NCK.  ~wEsTbAeR--&lt;br /&gt;
&lt;br /&gt;
== Find the theorized algorithm of NCK generation  ==&lt;br /&gt;
&lt;br /&gt;
Isn't this what the thousands of keygens for PC apps do? Why is it so much harder to do it for the iPhone? Is it because you would normally decompile the software that does the validation, and this is run on apple servers and so is inaccessible? Sorry, just thinking out loud...&lt;br /&gt;
&lt;br /&gt;
Reply: In softwares we can (after a good amount of work) see the routine that is used to verify the numbers you input. In the iPhone it's not that simple. We know the routine but we don't know what the iPhone starts with (or even if it's generated of the iPhone's serial or just a number in a database)&lt;br /&gt;
&lt;br /&gt;
Example: In a software, you input your name and a serial number. The software gets your name, translates it to numbers and does some math like (FirstLetter)*(SecondLetter)/(ThirdLetter + FourthLetter)&lt;br /&gt;
&lt;br /&gt;
So by knowing those rules, we run the same routine in a software and find out what the original software will expect when you input a name such as &amp;quot;funny&amp;quot;. Then you use &amp;quot;funny&amp;quot; and 129837987239187 as serial and it works.&lt;br /&gt;
&lt;br /&gt;
On the iPhone we don't know what the &amp;quot;name&amp;quot; is. We know your iphone will do something like TEA(RSA(token+&amp;quot;name&amp;quot;)) and will compare the response of that with what is has stored in it.&lt;br /&gt;
&lt;br /&gt;
Some people believe the NCK (aka &amp;quot;name&amp;quot; in the above example) doesn't have any relation to the numbers on the phone, such as the serial, IMEI, etc. Some people believe Apple has a big table of numbers relating one NCK for each SERIAL but the NCK isn't formed from the serial.&lt;br /&gt;
&lt;br /&gt;
I don't believe so...I think it's a number generated by the IMEI,Serial and any other unique numbers. Either with all of them, or parts of each. I started coding a program that would do a different search than Geohot's NCKBruteForcer. He was trying all the combinations and would eventually find the correct answer for each iPhone but it would take a million years with the computing power we have. I thought of it in a different way. I would assume that the NCK is made by a rule out of the combination of the following &amp;quot;items&amp;quot; [-, +, /, *, ^, Log, Ln, Log(2), exp, mod, imei, serial] and then code something to  search for all the rules inside that space such as imei*serial/log(serial)+imei for instance. Another idea was that they could use only a couple digits of each, so something like this would be possible: (3 digits of imei)*(first digit of serial)^(4 last digits of imei) mod (2 last digits of serial) .. and so on. This would be a smaller search than Geohots but would not work if Apple has a table with all the NCKs.&lt;br /&gt;
&lt;br /&gt;
I was coding this for the 1.1.4 OOTB when Geohot found the exploit and unlocked it. So I gave up..but maybe it's time to look at it again. ~ Deco&lt;br /&gt;
&lt;br /&gt;
== Unlock by changing model and serial number ==&lt;br /&gt;
&lt;br /&gt;
Chinese grey-market importers are reportedly unlocking the iPhone 3G by changing the model and serial numbers stored in the phone to match the Hong Kong version. Can someone please test if this method works? {{unsigned|Cynix|11:14, November 6, 2008 (UTC)}}&lt;br /&gt;
&lt;br /&gt;
== Bootrom dump ==&lt;br /&gt;
&lt;br /&gt;
In the article: &amp;quot;The Dev-Team successfully dumped the bootrom, but they won't release it as it's copyrighted code.&amp;quot;&lt;br /&gt;
What does this mean? Copyrighted by Dev-Team??? If copyright by Apple is meant, then we should be able to get it from somewhere. Right? -- [[User:Http|http]] 22:23, 14 April 2010 (UTC)&lt;br /&gt;
:It's copyrighted by either Infineon or Apple. I've never seen any download link for it, so you'll probably have a tough time finding it. --[[User:Dialexio|Dialexio]] 22:57, 14 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== NCK Bruteforcer? ==&lt;br /&gt;
&lt;br /&gt;
Just curious as to why this is included on this page as it is stated on the [[NCK]] page &amp;quot;Network Control Key. The 15-digit key required to &amp;quot;legitimately&amp;quot; unlock the iPhone 2G. Every other iPhone revision is unlocked with a WildcardTicket which permits every MNC/MCC/ICCID combination&amp;quot;. Thought it was best not to remove it encase i missing something --[[User:Toddyt1|Toddyt1]] 21:44, 8 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13774</id>
		<title>PwnageTool</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13774"/>
		<updated>2010-11-29T11:40:18Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 4.x: Fourth Major Release of PwnageTool */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''PwnageTool''' is a [[iOS]] [[jailbreak]] tool for Mac OS X that jailbreaks by creating a custom [[IPSW File Format|IPSW]]. You are allowed to change boot logos and add pre-installed packages to the IPSW. After an IPSW is created you can use it to restore to in [[iTunes]].&lt;br /&gt;
&lt;br /&gt;
==Exploits Used==&lt;br /&gt;
===Version 4.0===&lt;br /&gt;
* Bootrom exploit (used by [[limera1n]] and [[greenpois0n]])&lt;br /&gt;
&lt;br /&gt;
===Version 2.0===&lt;br /&gt;
* [[Pwnage 2.0]]&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
&lt;br /&gt;
===Version 1.0===&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
== Models Supported ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! Since&lt;br /&gt;
|-&lt;br /&gt;
| [[M68ap|iPhone 2G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N45ap|iPod touch 1G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N82ap|iPhone 3G]]&lt;br /&gt;
| Jul 19, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N72ap|iPod touch 2G]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[N88ap|iPhone 3GS]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|}&lt;br /&gt;
Note that the [[N18ap|iPod touch 3G]] and subsequent devices are not supported. With the iPod touch 2G and iPhone 3GS you must be jailbroken prior to using PwnageTool. The [[S5L8900]] devices you can go into [[DFU Mode]] and restore with [[iTunes]] without being jailbroken.&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
&lt;br /&gt;
PwnageTool was released April 3, 2008 but largely unused until version 2.0 was released July 19, 2008.&lt;br /&gt;
The following versions that are shown here are not beta, alpha, or in development. &lt;br /&gt;
&lt;br /&gt;
===1.x: First release of PwnageTool===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 1.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | April 3, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Initial release&lt;br /&gt;
* Jailbreaks 1.1.4 firmware&lt;br /&gt;
* Supports iPod touch 1G and iPhone 2G.&lt;br /&gt;
* Add [[BootNeuter]] in the IPSW to unlock iPhone 2G.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2.x: Second major release of Pwnagetool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jul 19, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Added iPhone 3G support [http://www.engadget.com/2008/07/19/iphone-dev-team-unleashes-pwnage-tool-2-0/]&lt;br /&gt;
* Jailbreaks 2.0 Firmware&lt;br /&gt;
* Change boot logos&lt;br /&gt;
* Adds Cydia by default&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 4, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.1 firmware&lt;br /&gt;
* Works for 2.0 and 2.0.1.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware [http://www.iphonehacks.com/2008/08/pwnage-tool-202.html]&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
* Bug fixes - for when it doesn't go to the next page when you click on something.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 25, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 13, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.1 firmware&lt;br /&gt;
* Removed backwards compatibility&lt;br /&gt;
* Download packages from a valid Cydia source, and add them onto your custom IPSW.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2 firmware&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jan 30, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2.1&lt;br /&gt;
* Not updated by [[iPhone Dev Team]] but made official.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.x: Third Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 19, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.0 firmware&lt;br /&gt;
* DFU mode instructions included&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 15, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1 firmware for iPhone 2G and 3G&lt;br /&gt;
* Jailbreaks 3.1.1 firmware for iPod touch 1G&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 2, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Support for iPhone 3GS with [[iBoot-359.3]] bootrom and iPod touch 2G with [[iBoot-240.4]] bootrom (these devices need to be pwned from 3.0/3.0.1)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 13, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.2 firmware for iPhone 2G, 3G, 3GS with [[iBoot-359.3]] bootrom, iPod touch 1G, iPod touch 2G with [[iBoot-240.4]] bootrom&lt;br /&gt;
* iPod touch 3G not supported.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 3.1.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Feb 7, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.3 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
=== 4.x: Fourth Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.0 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.01 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 23, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes iBooks issue in 4.0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 20, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.1 firmware for [[K66ap|Apple TV 2G]], [[K48ap|iPad 1G]], [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] (both bootroms), [[N90ap|iPhone 4]], [[N18ap|iPod touch 3G]], and [[N81ap|iPod touch 4G]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes more issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 28, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Enables installing the [[6.15.00]] baseband on the [[iPhone 3G]]&lt;br /&gt;
|&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Creating the Firmware==&lt;br /&gt;
PwnageTool takes the IPSW file and patches it, creating a custom version. This enables a lot more features such as pre-installed packages, [[BootNeuter]] ([[M68ap|iPhone]] software unlock), custom packages and boot logos. This method is usually less secure than the quick exploits such ([[redsn0w]], [[QuickPwn]], [[purplera1n]], [[blackra1n]], etc.).&lt;br /&gt;
&lt;br /&gt;
==How to create Custom Firmware Bundles==&lt;br /&gt;
[[Making_PwnageTool_Bundles]]&lt;br /&gt;
&lt;br /&gt;
==Problems==&lt;br /&gt;
This method does have negative aspects. The most common errors are the [[ITunes Errors#Errors 16xx|16xx range of errors]], which mean that the either the firmware file is corrupt or you didn't put it in the right mode (Recovery, DFU Mode). Sometimes the problems could just be a computer problem such as the memory is full or the USB port is broken. The most common error is [[ITunes Errors#Error 1604|Error 1604]] which means that the firmware file is corrupt.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
PwnageTool is expected to remain exclusive to Mac OS X. As of October 2009, [[User:ih8sn0w|iH8sn0w]], et. al. has announced that they made a project that will bring PwnageTool's functionality to Windows, called [[sn0wbreeze]]. [http://ih8sn0w.com/]&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
PwnageTool is freeware.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13773</id>
		<title>PwnageTool</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13773"/>
		<updated>2010-11-29T11:39:30Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 4.x: Fourth Major Release of PwnageTool */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''PwnageTool''' is a [[iOS]] [[jailbreak]] tool for Mac OS X that jailbreaks by creating a custom [[IPSW File Format|IPSW]]. You are allowed to change boot logos and add pre-installed packages to the IPSW. After an IPSW is created you can use it to restore to in [[iTunes]].&lt;br /&gt;
&lt;br /&gt;
==Exploits Used==&lt;br /&gt;
===Version 4.0===&lt;br /&gt;
* Bootrom exploit (used by [[limera1n]] and [[greenpois0n]])&lt;br /&gt;
&lt;br /&gt;
===Version 2.0===&lt;br /&gt;
* [[Pwnage 2.0]]&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
&lt;br /&gt;
===Version 1.0===&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
== Models Supported ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! Since&lt;br /&gt;
|-&lt;br /&gt;
| [[M68ap|iPhone 2G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N45ap|iPod touch 1G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N82ap|iPhone 3G]]&lt;br /&gt;
| Jul 19, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N72ap|iPod touch 2G]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[N88ap|iPhone 3GS]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|}&lt;br /&gt;
Note that the [[N18ap|iPod touch 3G]] and subsequent devices are not supported. With the iPod touch 2G and iPhone 3GS you must be jailbroken prior to using PwnageTool. The [[S5L8900]] devices you can go into [[DFU Mode]] and restore with [[iTunes]] without being jailbroken.&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
&lt;br /&gt;
PwnageTool was released April 3, 2008 but largely unused until version 2.0 was released July 19, 2008.&lt;br /&gt;
The following versions that are shown here are not beta, alpha, or in development. &lt;br /&gt;
&lt;br /&gt;
===1.x: First release of PwnageTool===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 1.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | April 3, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Initial release&lt;br /&gt;
* Jailbreaks 1.1.4 firmware&lt;br /&gt;
* Supports iPod touch 1G and iPhone 2G.&lt;br /&gt;
* Add [[BootNeuter]] in the IPSW to unlock iPhone 2G.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2.x: Second major release of Pwnagetool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jul 19, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Added iPhone 3G support [http://www.engadget.com/2008/07/19/iphone-dev-team-unleashes-pwnage-tool-2-0/]&lt;br /&gt;
* Jailbreaks 2.0 Firmware&lt;br /&gt;
* Change boot logos&lt;br /&gt;
* Adds Cydia by default&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 4, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.1 firmware&lt;br /&gt;
* Works for 2.0 and 2.0.1.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware [http://www.iphonehacks.com/2008/08/pwnage-tool-202.html]&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
* Bug fixes - for when it doesn't go to the next page when you click on something.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 25, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 13, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.1 firmware&lt;br /&gt;
* Removed backwards compatibility&lt;br /&gt;
* Download packages from a valid Cydia source, and add them onto your custom IPSW.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2 firmware&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jan 30, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2.1&lt;br /&gt;
* Not updated by [[iPhone Dev Team]] but made official.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.x: Third Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 19, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.0 firmware&lt;br /&gt;
* DFU mode instructions included&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 15, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1 firmware for iPhone 2G and 3G&lt;br /&gt;
* Jailbreaks 3.1.1 firmware for iPod touch 1G&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 2, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Support for iPhone 3GS with [[iBoot-359.3]] bootrom and iPod touch 2G with [[iBoot-240.4]] bootrom (these devices need to be pwned from 3.0/3.0.1)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 13, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.2 firmware for iPhone 2G, 3G, 3GS with [[iBoot-359.3]] bootrom, iPod touch 1G, iPod touch 2G with [[iBoot-240.4]] bootrom&lt;br /&gt;
* iPod touch 3G not supported.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 3.1.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Feb 7, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.3 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
=== 4.x: Fourth Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.0 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.01 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 23, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes iBooks issue in 4.0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 20, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.1 firmware for [[K66ap|Apple TV 2G]], [[K48ap|iPad 1G]], [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] (both bootroms), [[N90ap|iPhone 4]], [[N18ap|iPod touch 3G]], and [[N81ap|iPod touch 4G]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes more issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 28, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Enables installing the [[6.15.00]] baseband on the [[iPhone 3G]]&lt;br /&gt;
|&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Creating the Firmware==&lt;br /&gt;
PwnageTool takes the IPSW file and patches it, creating a custom version. This enables a lot more features such as pre-installed packages, [[BootNeuter]] ([[M68ap|iPhone]] software unlock), custom packages and boot logos. This method is usually less secure than the quick exploits such ([[redsn0w]], [[QuickPwn]], [[purplera1n]], [[blackra1n]], etc.).&lt;br /&gt;
&lt;br /&gt;
==How to create Custom Firmware Bundles==&lt;br /&gt;
[[Making_PwnageTool_Bundles]]&lt;br /&gt;
&lt;br /&gt;
==Problems==&lt;br /&gt;
This method does have negative aspects. The most common errors are the [[ITunes Errors#Errors 16xx|16xx range of errors]], which mean that the either the firmware file is corrupt or you didn't put it in the right mode (Recovery, DFU Mode). Sometimes the problems could just be a computer problem such as the memory is full or the USB port is broken. The most common error is [[ITunes Errors#Error 1604|Error 1604]] which means that the firmware file is corrupt.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
PwnageTool is expected to remain exclusive to Mac OS X. As of October 2009, [[User:ih8sn0w|iH8sn0w]], et. al. has announced that they made a project that will bring PwnageTool's functionality to Windows, called [[sn0wbreeze]]. [http://ih8sn0w.com/]&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
PwnageTool is freeware.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13772</id>
		<title>PwnageTool</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=PwnageTool&amp;diff=13772"/>
		<updated>2010-11-29T11:38:22Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 4.x: Fourth Major Release of PwnageTool */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''PwnageTool''' is a [[iOS]] [[jailbreak]] tool for Mac OS X that jailbreaks by creating a custom [[IPSW File Format|IPSW]]. You are allowed to change boot logos and add pre-installed packages to the IPSW. After an IPSW is created you can use it to restore to in [[iTunes]].&lt;br /&gt;
&lt;br /&gt;
==Exploits Used==&lt;br /&gt;
===Version 4.0===&lt;br /&gt;
* Bootrom exploit (used by [[limera1n]] and [[greenpois0n]])&lt;br /&gt;
&lt;br /&gt;
===Version 2.0===&lt;br /&gt;
* [[Pwnage 2.0]]&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
&lt;br /&gt;
===Version 1.0===&lt;br /&gt;
* [[Pwnage]]&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
== Models Supported ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! Since&lt;br /&gt;
|-&lt;br /&gt;
| [[M68ap|iPhone 2G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N45ap|iPod touch 1G]]&lt;br /&gt;
| April 3, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N82ap|iPhone 3G]]&lt;br /&gt;
| Jul 19, 2008&lt;br /&gt;
|-&lt;br /&gt;
| [[N72ap|iPod touch 2G]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[N88ap|iPhone 3GS]]&lt;br /&gt;
| Oct 2, 2009&lt;br /&gt;
|}&lt;br /&gt;
Note that the [[N18ap|iPod touch 3G]] and subsequent devices are not supported. With the iPod touch 2G and iPhone 3GS you must be jailbroken prior to using PwnageTool. The [[S5L8900]] devices you can go into [[DFU Mode]] and restore with [[iTunes]] without being jailbroken.&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
&lt;br /&gt;
PwnageTool was released April 3, 2008 but largely unused until version 2.0 was released July 19, 2008.&lt;br /&gt;
The following versions that are shown here are not beta, alpha, or in development. &lt;br /&gt;
&lt;br /&gt;
===1.x: First release of PwnageTool===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 1.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | April 3, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Initial release&lt;br /&gt;
* Jailbreaks 1.1.4 firmware&lt;br /&gt;
* Supports iPod touch 1G and iPhone 2G.&lt;br /&gt;
* Add [[BootNeuter]] in the IPSW to unlock iPhone 2G.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2.x: Second major release of Pwnagetool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jul 19, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Added iPhone 3G support [http://www.engadget.com/2008/07/19/iphone-dev-team-unleashes-pwnage-tool-2-0/]&lt;br /&gt;
* Jailbreaks 2.0 Firmware&lt;br /&gt;
* Change boot logos&lt;br /&gt;
* Adds Cydia by default&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 4, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.1 firmware&lt;br /&gt;
* Works for 2.0 and 2.0.1.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware [http://www.iphonehacks.com/2008/08/pwnage-tool-202.html]&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
* Bug fixes - for when it doesn't go to the next page when you click on something.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.0.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Aug 25, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.0.2 firmware&lt;br /&gt;
* Works for 2.0, 2.0.1, and 2.0.2.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 13, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.1 firmware&lt;br /&gt;
* Removed backwards compatibility&lt;br /&gt;
* Download packages from a valid Cydia source, and add them onto your custom IPSW.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 21, 2008&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2 firmware&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 2.2.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jan 30, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 2.2.1&lt;br /&gt;
* Not updated by [[iPhone Dev Team]] but made official.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3.x: Third Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 19, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.0 firmware&lt;br /&gt;
* DFU mode instructions included&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Sep 15, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1 firmware for iPhone 2G and 3G&lt;br /&gt;
* Jailbreaks 3.1.1 firmware for iPod touch 1G&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 2, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Support for iPhone 3GS with [[iBoot-359.3]] bootrom and iPod touch 2G with [[iBoot-240.4]] bootrom (these devices need to be pwned from 3.0/3.0.1)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 3.1.4 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 13, 2009&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.2 firmware for iPhone 2G, 3G, 3GS with [[iBoot-359.3]] bootrom, iPod touch 1G, iPod touch 2G with [[iBoot-240.4]] bootrom&lt;br /&gt;
* iPod touch 3G not supported.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== 3.1.5 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Feb 7, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 3.1.3 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=1 style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
=== 4.x: Fourth Major Release of PwnageTool ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Version&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Release date&lt;br /&gt;
! style=&amp;quot;background-color:#E9E9E9;&amp;quot; align=&amp;quot;center&amp;quot; |Features&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.0 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.0 firmware for devices supported in 3.1.4.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.01 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Jun 23, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes iBooks issue in 4.0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 20, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Jailbreaks 4.1 firmware for [[K66ap|Apple TV 2G]], [[K48ap|iPad 1G]], [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] (both bootroms), [[N90ap|iPhone 4]], [[N18ap|iPod touch 3G]], and [[N81ap|iPod touch 4G]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.1 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.2 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Oct 22, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Fixes more issues with Leopard.&lt;br /&gt;
|&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
==== 4.1.3 ====&lt;br /&gt;
| style=&amp;quot;white-space: nowrap;&amp;quot; | Nov 28, 2010&lt;br /&gt;
| |&lt;br /&gt;
* Enables installing the [[6.15.00]] baseband on the [[iPhone 3G]]&lt;br /&gt;
|&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;white-space: nowrap;nowrap;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==Creating the Firmware==&lt;br /&gt;
PwnageTool takes the IPSW file and patches it, creating a custom version. This enables a lot more features such as pre-installed packages, [[BootNeuter]] ([[M68ap|iPhone]] software unlock), custom packages and boot logos. This method is usually less secure than the quick exploits such ([[redsn0w]], [[QuickPwn]], [[purplera1n]], [[blackra1n]], etc.).&lt;br /&gt;
&lt;br /&gt;
==How to create Custom Firmware Bundles==&lt;br /&gt;
[[Making_PwnageTool_Bundles]]&lt;br /&gt;
&lt;br /&gt;
==Problems==&lt;br /&gt;
This method does have negative aspects. The most common errors are the [[ITunes Errors#Errors 16xx|16xx range of errors]], which mean that the either the firmware file is corrupt or you didn't put it in the right mode (Recovery, DFU Mode). Sometimes the problems could just be a computer problem such as the memory is full or the USB port is broken. The most common error is [[ITunes Errors#Error 1604|Error 1604]] which means that the firmware file is corrupt.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
PwnageTool is expected to remain exclusive to Mac OS X. As of October 2009, [[User:ih8sn0w|iH8sn0w]], et. al. has announced that they made a project that will bring PwnageTool's functionality to Windows, called [[sn0wbreeze]]. [http://ih8sn0w.com/]&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
PwnageTool is freeware.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13769</id>
		<title>Ultrasn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13769"/>
		<updated>2010-11-29T08:59:07Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Injection Vectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ultrasn0w (previously: yellowsn0w) is an [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[N90ap|iPhone 4]] [[Unlock 2.0|unlock]] payload. yellowsn0w was released on 01/01/09 [http://blog.iphone-dev.org/post/67797811]. ultrasn0w was released on June 23th 2009 [http://blog.iphone-dev.org/post/128573459/ultras-now].&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
[[MuscleNerd]], and [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
==Exploit==&lt;br /&gt;
Relies on an unsigned code injection vulnerability.&lt;br /&gt;
&lt;br /&gt;
The actual unlock works by a daemon patching the baseband's RAM on-the-fly, overriding the carrier lock code. It is not permanent because of the signature checks - the bootloader has to pass the sigchecks and the baseband has to pass them too, so any change to the baseband/bootloader cannot be made.&lt;br /&gt;
&lt;br /&gt;
==Injection Vectors==&lt;br /&gt;
* [[AT+stkprof Exploit]] - used by yellowsn0w to unlock [[X-Gold 608]] baseband [[2.28.00]].&lt;br /&gt;
* [[AT+XLOG Vulnerability]] - used by ultrasn0w to unlock [[X-Gold 608]] baseband [[4.26.08]].&lt;br /&gt;
* [[AT+XAPP Vulnerability]] - used by ultrasn0w 1.0-1 and 1.2 to unlock public releases of [[X-Gold 608]] basebands [[4.26.08]] through [[5.13.04]] and [[6.15.00]] (ultrasn0w 1.2 only), and [[XMM 6180]] baseband [[1.59.00]])&lt;br /&gt;
&lt;br /&gt;
==ultrasn0w payload with comments (by [[User:Oranav|Oranav]])==&lt;br /&gt;
&lt;br /&gt;
===Code loader (incl. Stage2)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 code_loader&lt;br /&gt;
ROM:00000000 dest_addr = R1&lt;br /&gt;
ROM:00000000 src_addr = R6&lt;br /&gt;
ROM:00000000                 MOVLS   dest_addr, 0x110&lt;br /&gt;
ROM:00000004                 ADDS    dest_addr, #6&lt;br /&gt;
ROM:00000006                 LSLS    dest_addr, dest_addr, #8 ; unused ram to place code = 0x11600&lt;br /&gt;
ROM:00000008                 ADDS    R2, dest_addr, #1 ; thumbing&lt;br /&gt;
ROM:0000000A&lt;br /&gt;
ROM:0000000A loop                                    ; CODE XREF: code_loader+24�j&lt;br /&gt;
ROM:0000000A                 MOVLS   R0, 0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000E                 LDRB    R3, [src_addr]  ; first nibble&lt;br /&gt;
ROM:00000010                 CMP     R0, R3&lt;br /&gt;
ROM:00000012                 LDRB    R0, [src_addr,#1] ; second nibble&lt;br /&gt;
ROM:00000014                 BEQ     run             ; branch if end of string&lt;br /&gt;
ROM:00000016                 SUBS    R3, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:00000018                 SUBS    R0, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:0000001A                 LSLS    R3, R3, #4      ; make room for next nibble&lt;br /&gt;
ROM:0000001C                 ADDS    R3, R3, R0      ; put them together as a byte&lt;br /&gt;
ROM:0000001E                 STRB    R3, [dest_addr]&lt;br /&gt;
ROM:00000020                 ADDS    dest_addr, #1&lt;br /&gt;
ROM:00000022                 ADDS    src_addr, #2&lt;br /&gt;
ROM:00000024                 B       loop&lt;br /&gt;
ROM:00000026 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:00000026&lt;br /&gt;
ROM:00000026 run                                     ; CODE XREF: code_loader+14�j&lt;br /&gt;
ROM:00000026                 BLX     R2              ; handler_replace()&lt;br /&gt;
ROM:00000028                 MOVLS   R0, 0           ; safe exit&lt;br /&gt;
ROM:0000002C                 ADDS    dest_addr, R0, #0&lt;br /&gt;
ROM:0000002E                 BLX     R4&lt;br /&gt;
ROM:00000030                 MOV     SP, R5&lt;br /&gt;
ROM:00000032                 POP     {R0-src_addr,PC}&lt;br /&gt;
ROM:00000032 ; End of function code_loader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Handler replace===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011600 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600 handler_replace&lt;br /&gt;
RAM:00011600                 PUSH    {LR}&lt;br /&gt;
RAM:00011602                 LDR     R0, =0x40492FC0 ; where to save task_loop_jmp + task_loop&lt;br /&gt;
RAM:00011604                 ADR     R1, task_loop_jmp&lt;br /&gt;
RAM:00011606                 ADR     R2, task_loop_end&lt;br /&gt;
RAM:00011608                 SUBS    R2, R2, R1      ; size of task_loop + task_loop_jmp = 0x70&lt;br /&gt;
RAM:0001160A                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:0001160C                 BLX     R3&lt;br /&gt;
RAM:0001160E                 LDR     R0, =0x40492C20 ; where to save task_creator_jmp + task_creator&lt;br /&gt;
RAM:00011610                 ADR     R1, task_creator_jmp&lt;br /&gt;
RAM:00011612                 ADR     R2, task_creator_end&lt;br /&gt;
RAM:00011614                 SUBS    R2, R2, R1      ; size of task_creator + task_creator_jmp = 0xA0&lt;br /&gt;
RAM:00011616                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:00011618                 BLX     R3&lt;br /&gt;
RAM:0001161A                 LDR     R0, =0x40492C20&lt;br /&gt;
RAM:0001161C                 BLX     R0              ; task_creator_jmp()&lt;br /&gt;
RAM:0001161E                 POP     {PC}&lt;br /&gt;
RAM:0001161E ; End of function handler_replace&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:40492C20 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20 task_creator_jmp&lt;br /&gt;
RAM:40492C20                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:40492C24                 BLX     task_creator&lt;br /&gt;
RAM:40492C28                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:40492C28 ; End of function task_creator_jmp&lt;br /&gt;
RAM:40492C28&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C task_creator                            ; CODE XREF: task_creator_jmp+4�p&lt;br /&gt;
RAM:40492C2C                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:40492C2E                 LDR     R3, =0x401ED3B8 ; jumptable var&lt;br /&gt;
RAM:40492C30                 MOVLS   R4, 0x800&lt;br /&gt;
RAM:40492C34                 SUB     SP, SP, #0x24&lt;br /&gt;
RAM:40492C36                 STRH    R0, [R3]        ; task_creator_jmp addr&lt;br /&gt;
RAM:40492C38                 LDR     R5, =0x201493F0 ; malloc&lt;br /&gt;
RAM:40492C3A                 ADDS    R0, R4, #0      ; 0x800&lt;br /&gt;
RAM:40492C3C                 ADDS    R7, R1, #0      ; R7 = resp_string&lt;br /&gt;
RAM:40492C3E                 BLX     R5              ; malloc(0x800)&lt;br /&gt;
RAM:40492C40                 ADDS    R6, R0, #0      ; R6 = addr returned from malloc&lt;br /&gt;
RAM:40492C42                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:40492C44                 BLX     R5              ; malloc(sizeof(NU_TASK))&lt;br /&gt;
RAM:40492C46                 MOVS    R2, #0&lt;br /&gt;
RAM:40492C48                 MOVS    R3, #0x44&lt;br /&gt;
RAM:40492C4A                 LDR     R1, =aDevteam1  ; char *name&lt;br /&gt;
RAM:40492C4C                 STR     R2, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:40492C4E                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:40492C50                 MOVS    R3, #0xA&lt;br /&gt;
RAM:40492C52                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:40492C54                 MOVS    R3, #0xC&lt;br /&gt;
RAM:40492C56                 STR     R2, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:40492C58                 STR     R4, [SP,#8]     ; stack_size = 0x800&lt;br /&gt;
RAM:40492C5A                 STR     R2, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:40492C5C                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:40492C5E                 LDR     R2, =0x40492FC0 ; task_loop_jmp address&lt;br /&gt;
RAM:40492C60                 STR     R6, [SP,#4]     ; void *stack_address = malloc(0x800)&lt;br /&gt;
RAM:40492C62                 MOVS    R3, #0&lt;br /&gt;
RAM:40492C64                 LDR     R4, =0x2043E5B4 ; NU_Create_Task&lt;br /&gt;
RAM:40492C66                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:40492C68                 ADDS    R2, R0, #0      ; R2 = status (for the %d reference in sprintf)&lt;br /&gt;
RAM:40492C6A                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:40492C6C                 BNE     status_error&lt;br /&gt;
RAM:40492C6E                 LDR     R1, =aOk        ; &amp;quot;OK!&amp;quot;&lt;br /&gt;
RAM:40492C70                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C72                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C74                 BLX     R3              ; sprintf(resp_string, &amp;quot;OK!&amp;quot;)&lt;br /&gt;
RAM:40492C76                 B       exit&lt;br /&gt;
RAM:40492C78 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:40492C78&lt;br /&gt;
RAM:40492C78 status_error                            ; CODE XREF: task_creator+40�j&lt;br /&gt;
RAM:40492C78                 LDR     R1, =aErrorD    ; &amp;quot;ERROR %d&amp;quot;&lt;br /&gt;
RAM:40492C7A                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C7C                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C7E                 BLX     R3              ; sprintf(resp_string, &amp;quot;ERROR %d&amp;quot;, status)&lt;br /&gt;
RAM:40492C80&lt;br /&gt;
RAM:40492C80 exit                                    ; CODE XREF: task_creator+4A�j&lt;br /&gt;
RAM:40492C80                 ADD     SP, SP, #0x24   ; fixing stack&lt;br /&gt;
RAM:40492C82                 POP     {R4-R7,PC}&lt;br /&gt;
RAM:40492C82 ; End of function task_creator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011630 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630 task_loop_jmp&lt;br /&gt;
RAM:00011630                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:00011634                 BLX     task_loop&lt;br /&gt;
RAM:00011634 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011638                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:00011638 ; End of function task_loop_jmp&lt;br /&gt;
RAM:00011638&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C task_loop&lt;br /&gt;
RAM:0001163C                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:0001163E                 LDR     R5, =0x401E829C ; sec mailbox&lt;br /&gt;
RAM:00011640                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011642&lt;br /&gt;
RAM:00011642 loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011642                 LDR     R3, =0x2042FFD8 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011644                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011646                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011648                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:0001164A                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:0001164C                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:0001164E                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011650                 BNE     skip&lt;br /&gt;
RAM:00011652                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011654                 LDR     R3, =0x40301650&lt;br /&gt;
RAM:00011656                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011658                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:0001165A                 ADDS    R3, #4          ; 0x40301654&lt;br /&gt;
RAM:0001165C                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:0001165E                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011660                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011662                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011664                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011666                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011668                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:0001166A                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:0001166C                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:0001166E                 MOVS    R3, #1&lt;br /&gt;
RAM:00011670                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011672                 MOVS    R3, #0x20 ; ' '&lt;br /&gt;
RAM:00011674                 STR     R3, [SP] ; Message[0] = 0x20&lt;br /&gt;
RAM:00011676&lt;br /&gt;
RAM:00011676 skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011676                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011678                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:0001167A                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:0001167C                 LDR     R3, =0x20430040&lt;br /&gt;
RAM:0001167E                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011680                 B       loop&lt;br /&gt;
RAM:00011680 ; End of function task_loop&lt;br /&gt;
RAM:00011680&lt;br /&gt;
RAM:00011680 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Old yellowsn0w payload w/ comments (by Darkmen) ==&lt;br /&gt;
&lt;br /&gt;
The exploit consists from 4 parts:&lt;br /&gt;
&lt;br /&gt;
===Code loader===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 loader&lt;br /&gt;
ROM:00000000                 LDR     R2, =0x11700    ; unused ram to place code&lt;br /&gt;
ROM:00000002                 ADDS    R4, R2, #1      ; thumb switch&lt;br /&gt;
ROM:00000004                 LDR     R3, =0x40159FBF ; at-handler buffer where stage2 binary and following hexdata are&lt;br /&gt;
ROM:00000006&lt;br /&gt;
ROM:00000006 copy.loop                               ; CODE XREF: loader+12�j&lt;br /&gt;
ROM:00000006                 LDRB    R0, [R3]        ; copying code+data until double quotes&lt;br /&gt;
ROM:00000008                 CMP     R0, #0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000A                 BEQ     run             ; jump thumb code&lt;br /&gt;
ROM:0000000C                 STRB    R0, [R2]&lt;br /&gt;
ROM:0000000E                 ADDS    R2, #1&lt;br /&gt;
ROM:00000010                 ADDS    R3, #1&lt;br /&gt;
ROM:00000012                 B       copy.loop       ; &lt;br /&gt;
ROM:00000014 run                                     ; CODE XREF: loader+A�j&lt;br /&gt;
ROM:00000014                 BX      R4              ; jump stage2 code&lt;br /&gt;
ROM:00000014 ; End of function loader&lt;br /&gt;
ROM:00000014&lt;br /&gt;
ROM:00000014 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stage2(tm)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000000 stage2&lt;br /&gt;
RAM:00000000                 ADDS    R2, #0x10       ; R2 = 0x11700 + stage2 size&lt;br /&gt;
RAM:00000002                 MOVS    R7, #0xF&lt;br /&gt;
RAM:00000004                 BICS    R2, R7          ; align offset by 0x10&lt;br /&gt;
RAM:00000006                 ADDS    R7, R2, #0      ; saving address to jump&lt;br /&gt;
RAM:00000008                 ADR     R4, 0x44        ; skipping Stage2 size and taking first char from at-string&lt;br /&gt;
RAM:0000000A                 ADR     R5, char2byte   ; loading routine addr&lt;br /&gt;
RAM:0000000C                 ADDS    R5, #1          ; thumb&lt;br /&gt;
RAM:0000000E&lt;br /&gt;
RAM:0000000E loop                                    ; CODE XREF: stage2+2C�j&lt;br /&gt;
RAM:0000000E                 LDRB    R1, [R4]        ; at-string[index]&lt;br /&gt;
RAM:00000010                 CMP     R1, #'x'        ; end of line?&lt;br /&gt;
RAM:00000012                 BEQ     jump_code&lt;br /&gt;
RAM:00000014                 BLX     R5              ; char2byte first hakfbyte&lt;br /&gt;
RAM:00000016                 LSLS    R3, R1, #4      ; &amp;lt;&amp;lt;4 0X becoming X0&lt;br /&gt;
RAM:00000018                 LDRB    R1, [R4,#1]     ; at-string[index+1]&lt;br /&gt;
RAM:0000001A                 BLX     R5              ; char2hex second halfbyte&lt;br /&gt;
RAM:0000001C                 NOP&lt;br /&gt;
RAM:0000001E                 NOP&lt;br /&gt;
RAM:00000020                 NOP&lt;br /&gt;
RAM:00000022                 NOP&lt;br /&gt;
RAM:00000024                 ADDS    R1, R1, R3      ; R1 = complete byte&lt;br /&gt;
RAM:00000026                 STRB    R1, [R2]        ; storing byte to dst&lt;br /&gt;
RAM:00000028                 ADDS    R4, #2          ; hexstr_index+=2&lt;br /&gt;
RAM:0000002A                 ADDS    R2, #1          ; dst++&lt;br /&gt;
RAM:0000002C                 B       loop            ; at-string[index]&lt;br /&gt;
RAM:0000002E jump_code&lt;br /&gt;
RAM:0000002E                 NOP&lt;br /&gt;
RAM:00000030                 NOP&lt;br /&gt;
RAM:00000032                 ADDS    R7, #1          ; thumbing&lt;br /&gt;
RAM:00000034                 BX      R7              ; run Task creator code&lt;br /&gt;
RAM:00000034 ; End of function stage2&lt;br /&gt;
RAM:00000038&lt;br /&gt;
RAM:00000038 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000038 char2byte                               ; DATA XREF: stage2+A�o&lt;br /&gt;
RAM:00000038                 CMP     R1, #0x41 ; 'A'&lt;br /&gt;
RAM:0000003A                 BGE     letter          ; letter to number&lt;br /&gt;
RAM:0000003C                 SUBS    R1, #0x30 ; '0' ; digit to number&lt;br /&gt;
RAM:0000003E                 BX      LR&lt;br /&gt;
RAM:00000040 letter                                  ; CODE XREF: char2byte+2�j&lt;br /&gt;
RAM:00000040                 SUBS    R1, #0x37 ; '7' ; letter to number&lt;br /&gt;
RAM:00000042                 BX      LR              ; ret&lt;br /&gt;
RAM:00000042 ; End of function char2byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:000119A0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0 handler_replace&lt;br /&gt;
RAM:000119A0                 LDR     R0, =0x4011714C ; soft reset handler addr&lt;br /&gt;
RAM:000119A2                 ADR     R1, new_handler&lt;br /&gt;
RAM:000119A4                 ADDS    R1, #1          ; thumbing&lt;br /&gt;
RAM:000119A6                 STR     R1, [R0]        ; setting new handler&lt;br /&gt;
RAM:000119A8                 POP     {R0-R4,PC}      ; safe exit fixing stack&lt;br /&gt;
RAM:000119A8 ; End of function handler_replace&lt;br /&gt;
&lt;br /&gt;
RAM:000119B0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0 new_handler                             ; DATA XREF: handler_replace+2�o&lt;br /&gt;
RAM:000119B0                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:000119B2                 LDR     R3, =0x403BB344 ; jamptable var&lt;br /&gt;
RAM:000119B4                 MOVS    R6, #0x80&lt;br /&gt;
RAM:000119B6                 SUB     SP, SP, #0x2C&lt;br /&gt;
RAM:000119B8                 LSLS    R6, R6, #4      ; 0x200&lt;br /&gt;
RAM:000119BA                 STRH    R0, [R3]        ; saving R0 to mem var&lt;br /&gt;
RAM:000119BC                 STR     R1, [SP,#0x40+resp_string] ; saving responce prt to stack&lt;br /&gt;
RAM:000119BE                 LDR     R4, =0x201420AC ; malloc&lt;br /&gt;
RAM:000119C0                 ADDS    R0, R6, #0&lt;br /&gt;
RAM:000119C2                 BLX     R4              ; malloc(0x200)&lt;br /&gt;
RAM:000119C4                 MOVS    R5, #0&lt;br /&gt;
RAM:000119C6                 STR     R0, [SP,#0x40+ptr_200] ; saving pointer to stack&lt;br /&gt;
RAM:000119C8                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:000119CA                 BLX     R4              ; malloc(0x98)&lt;br /&gt;
RAM:000119CC                 ADDS    R7, R0, #0      ; R7 = task&lt;br /&gt;
RAM:000119CE                 STR     R5, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:000119D0                 MOVS    R0, 0x100&lt;br /&gt;
RAM:000119D4                 BLX     R4              ; malloc(0x100)&lt;br /&gt;
RAM:000119D6                 MOVS    R2, #0x80&lt;br /&gt;
RAM:000119D8                 LDR     R1, =task_loop  ; src&lt;br /&gt;
RAM:000119DA                 LSLS    R2, R2, #1      ; size to copy&lt;br /&gt;
RAM:000119DC                 LDR     R3, =0x203C58A0 ; bytecpy&lt;br /&gt;
RAM:000119DE                 ADDS    R4, R0, #0      ; R4 = dyn_task_loop&lt;br /&gt;
RAM:000119E0                 BLX     R3              ; bytecpy(task_loop, dyn_task_loop, 0x100)&lt;br /&gt;
RAM:000119E2                 LDR     R3, [SP,#0x40+ptr_200]&lt;br /&gt;
RAM:000119E4                 STR     R3, [SP,#4]     ; void *stack_address = malloc(0x200)&lt;br /&gt;
RAM:000119E6                 MOVS    R3, #0x44&lt;br /&gt;
RAM:000119E8                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:000119EA                 MOVS    R3, #0xA&lt;br /&gt;
RAM:000119EC                 ADDS    R4, #1          ; thumbing dyn_task_loop&lt;br /&gt;
RAM:000119EE                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:000119F0                 MOVS    R3, #0xC&lt;br /&gt;
RAM:000119F2                 ADDS    R2, R4, #0      ; void(*task_entry)&lt;br /&gt;
RAM:000119F4                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:000119F6                 LDR     R1, =devteam1   ; char *name&lt;br /&gt;
RAM:000119F8                 STR     R5, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:000119FA                 STR     R6, [SP,#8]     ; stack_size = 0x200&lt;br /&gt;
RAM:000119FC                 STR     R5, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:000119FE                 ADDS    R0, R7, #0      ; NU_TASK *task&lt;br /&gt;
RAM:00011A00                 MOVS    R3, #0          ; int argc = 0&lt;br /&gt;
RAM:00011A02                 LDR     R4, =0x203FB540 ; NU_Create_Task&lt;br /&gt;
RAM:00011A04                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:00011A06                 ADDS    R2, R0, #0&lt;br /&gt;
RAM:00011A08                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:00011A0A                 BNE     status_error&lt;br /&gt;
RAM:00011A0C                 LDR     R1, =OK&lt;br /&gt;
RAM:00011A0E                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A10                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A12                 BLX     R3              ; sprintf(resp_string,&amp;quot;OK&amp;quot;)&lt;br /&gt;
RAM:00011A14                 B       exit            ; fixing stack&lt;br /&gt;
RAM:00011A16 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011A16&lt;br /&gt;
RAM:00011A16 status_error                            ; CODE XREF: new_handler+5A�j&lt;br /&gt;
RAM:00011A16                 LDR     R1, =ERROR&lt;br /&gt;
RAM:00011A18                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A1A                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A1C                 BLX     R3              ; sprintf(resp_string,&amp;quot;ERROR&amp;quot;)&lt;br /&gt;
RAM:00011A1E&lt;br /&gt;
RAM:00011A1E exit                                    ; CODE XREF: new_handler+64�j&lt;br /&gt;
RAM:00011A1E                 ADD     SP, SP, #0x2C   ; fixing stack&lt;br /&gt;
RAM:00011A20                 POP     {R4-R7,PC}      ; bye&lt;br /&gt;
RAM:00011A20 ; End of function new_handler&lt;br /&gt;
RAM:00011A20&lt;br /&gt;
RAM:00011A20 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011A64 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011A64&lt;br /&gt;
RAM:00011A64 task_loop                               ; DATA XREF: RAM:off_11A2C�o&lt;br /&gt;
RAM:00011A64                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:00011A66                 LDR     R5, =0x40232754 ; sec mailbox&lt;br /&gt;
RAM:00011A68                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011A6A&lt;br /&gt;
RAM:00011A6A loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011A6A                 LDR     R3, =0x20165998 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011A6C                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011A6E                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011A70                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:00011A72                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:00011A74                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:00011A76                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011A78                 BNE     skip            ; &lt;br /&gt;
RAM:00011A7A                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011A7C                 LDR     R3, =0x402F79BC&lt;br /&gt;
RAM:00011A7E                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011A80                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:00011A82                 ADDS    R3, #4          ; 0x402F79C0&lt;br /&gt;
RAM:00011A84                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:00011A86                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011A88                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011A8A                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011A8C                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011A8E                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011A90                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:00011A92                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:00011A94                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:00011A96                 MOVS    R3, #1&lt;br /&gt;
RAM:00011A98                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011A9A                 MOVS    R3, #0x20       &lt;br /&gt;
RAM:00011A9C                 STR     R3, [SP]        ; Message[0] = 0x20&lt;br /&gt;
RAM:00011A9E&lt;br /&gt;
RAM:00011A9E skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011A9E                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011AA0                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011AA2                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:00011AA4                 LDR     R3, =0x203ED568&lt;br /&gt;
RAM:00011AA6                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011AA8                 B       loop            ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011AA8 ; End of function task_loop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Planetbeing explains...===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13:24:29  &amp;lt;crash-x_&amp;gt; especially how does ultra/yellow sn0w work&lt;br /&gt;
13:24:40  &amp;lt;crash-x_&amp;gt; are you overwriting instructions&lt;br /&gt;
13:24:48  &amp;lt;crash-x_&amp;gt; or some values in memory to make it accept the sim?&lt;br /&gt;
13:24:48  &amp;lt;planetbeing&amp;gt; Nah.&lt;br /&gt;
13:24:53  &amp;lt;planetbeing&amp;gt; It's a task.&lt;br /&gt;
13:25:06  &amp;lt;planetbeing&amp;gt; That just waits for securiy messages to go through the inbox.&lt;br /&gt;
13:25:13  &amp;lt;westbaer&amp;gt; planetbeing: btw, why isnt yellowsn0w/ultrasn0w not open-source anymore? like u posted an *oooold* version once&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
13:26:33  &amp;lt;planetbeing&amp;gt; The only thing I do for ys/us is the loader bit.&lt;br /&gt;
13:26:39  &amp;lt;westbaer&amp;gt; so whats actually the loader stuff you've been talking about?&lt;br /&gt;
13:26:46  &amp;lt;planetbeing&amp;gt; That uses the exploit to start MuscleNerd's payload.&lt;br /&gt;
13:27:21  &amp;lt;westbaer&amp;gt; ah&lt;br /&gt;
13:27:26  &amp;lt;planetbeing&amp;gt; Well, you have a vulnerability.&lt;br /&gt;
13:27:30  &amp;lt;planetbeing&amp;gt; And you want to load a large chunk of code.&lt;br /&gt;
13:27:39  &amp;lt;planetbeing&amp;gt; And you don't have much room to wriggle in for your overflow&lt;br /&gt;
13:28:21  &amp;lt;westbaer&amp;gt; aah, makes sense&lt;br /&gt;
13:28:50  &amp;lt;planetbeing&amp;gt; So the solution is a small loader that loads the rest of the code, and overcomes any restrictions there are on allowable characters.&lt;br /&gt;
13:28:55  &amp;lt;ashikase&amp;gt; francis: pm&lt;br /&gt;
13:28:59  &amp;lt;westbaer&amp;gt; yeah&lt;br /&gt;
13:29:10  &amp;lt;crash-x_&amp;gt; planetbeing: the baseband is it like one process that runs there&lt;br /&gt;
13:29:19  &amp;lt;crash-x_&amp;gt; or is it like a small os with process and stuff&lt;br /&gt;
13:29:19  &amp;lt;planetbeing&amp;gt; Basically a good loader should turn a vulnerability into a reliable platform for the execution of arbitrary code, unrestricted by vulnerability-specific stuff.&lt;br /&gt;
13:29:37  &amp;lt;planetbeing&amp;gt; Oh, it's a full-featured OS.&lt;br /&gt;
13:29:38  &amp;lt;planetbeing&amp;gt; Nucleus.&lt;br /&gt;
13:29:51  &amp;lt;planetbeing&amp;gt; http://www.mentor.com/products/embedded_software/nucleus_rtos/&lt;br /&gt;
13:29:54  &amp;lt;crash-x_&amp;gt; and when you execute an at command&lt;br /&gt;
13:30:06  &amp;lt;crash-x_&amp;gt; does that start another process that is crashed then&lt;br /&gt;
13:30:21  &amp;lt;planetbeing&amp;gt; Ideally, you don't crash anything.&lt;br /&gt;
13:30:21  &amp;lt;crash-x_&amp;gt; or does it crash like the main baseband program&lt;br /&gt;
13:30:23  &amp;lt;planetbeing&amp;gt; And we don't.&lt;br /&gt;
13:30:49  &amp;lt;crash-x_&amp;gt; so am i understand it right&lt;br /&gt;
13:30:50  &amp;lt;westbaer&amp;gt; wait. is nucleus on the baseband already installed or do you actually inject it with ultrasn0w?&lt;br /&gt;
13:30:51  &amp;lt;planetbeing&amp;gt; We load a bunch of code into certain memory locations, execute them, and then return safely back to the main command parser task.&lt;br /&gt;
13:31:00  &amp;lt;planetbeing&amp;gt; Nucleus is what the baseband runs.&lt;br /&gt;
13:31:04  &amp;lt;westbaer&amp;gt; ah ok&lt;br /&gt;
13:31:29  &amp;lt;planetbeing&amp;gt; I mean, even the bootrom is an OS.&lt;br /&gt;
13:31:36  &amp;lt;planetbeing&amp;gt; With one task, but it still has a scheduler. =P&lt;br /&gt;
13:31:39  &amp;lt;crash-x_&amp;gt; ah thats how you do it&lt;br /&gt;
13:31:42  &amp;lt;westbaer&amp;gt; heh&lt;br /&gt;
13:31:44  &amp;lt;crash-x_&amp;gt; and about your payload&lt;br /&gt;
13:31:57  &amp;lt;crash-x_&amp;gt; does it start a new process like using fork() &lt;br /&gt;
13:32:03  &amp;lt;crash-x_&amp;gt; or does it all the work in the exploited process&lt;br /&gt;
13:32:11  &amp;lt;planetbeing&amp;gt; It uses Nucleus-specific calls that create the new task.&lt;br /&gt;
13:32:19  &amp;lt;planetbeing&amp;gt; Well, the payload has to create a new task&lt;br /&gt;
13:32:22  &amp;lt;westbaer&amp;gt; I think they are documented on the wiki&lt;br /&gt;
13:32:25  &amp;lt;planetbeing&amp;gt; To monitor for certain events.&lt;br /&gt;
13:32:47  &amp;lt;planetbeing&amp;gt; Yeah, just read Darkmen's decompile.&lt;br /&gt;
13:33:00  &amp;lt;planetbeing&amp;gt; us has the exact same payload as ys&lt;br /&gt;
13:33:08  &amp;lt;planetbeing&amp;gt; Just different addresses for function calls and stuff.&lt;br /&gt;
13:33:19  &amp;lt;planetbeing&amp;gt; And I had to rewrite the loader due to even tighter constraints.&lt;br /&gt;
13:33:28  &amp;lt;crash-x_&amp;gt; thats cool, thanks for explaining&lt;br /&gt;
13:33:34  &amp;lt;westbaer&amp;gt; yup, thanks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From irc.saurik.com #iphone on sunday the 5th of july.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
The source code for yellowsn0w 0.9.1 (old version) was released along with yellowsn0w release. [http://xs1.iphwn.org/releases/yellowsn0w.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[X-Gold 608 Unlock]]&lt;br /&gt;
* [[X-Gold 608]]&lt;br /&gt;
* [[Baseband Device]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://chronic-dev.org/blog/2008/12/props/ Chronic Dev's post about Yellowsn0w]&lt;br /&gt;
* [http://blog.iphone-dev.org/post/65126957/tis-the-season-to-be-jolly Yellowsn0w Announcement]&lt;br /&gt;
* [http://qik.com/video/729275 MuscleNerd's yellowsn0w Demo]&lt;br /&gt;
* [http://www.youtube.com/watch?v=kd5vOy2m5uY MuscleNerd's ultrasn0w demo]&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=AT%2BXAPP_Vulnerability&amp;diff=13768</id>
		<title>AT+XAPP Vulnerability</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=AT%2BXAPP_Vulnerability&amp;diff=13768"/>
		<updated>2010-11-29T08:58:26Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Used as an injection vector for the [[X-Gold 608]] and [[XMM 6180]] [[unlock]] payload. ‬Currently available in all X-Gold 608 basebands until [[5.13.04]] and [[6.15.00]], and XMM 6180 baseband [[1.59.00]].‬&lt;br /&gt;
‭&lt;br /&gt;
== Credit ==&lt;br /&gt;
* '''vulnerability''': [[sherif_hashim]], also discovered by [[westbaer]], [[User:Geohot|geohot]] and [[User:Oranav|Oranav]] (each one independently)&lt;br /&gt;
* '''exploitation''': [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
== Exploit ==&lt;br /&gt;
There is a stack overflow in the AT+XAPP‭=&amp;quot;...&amp;quot; ‬command‭, ‬which allows unsigned code execution on the [[X-Gold 608]] and [[XMM 6180]].&lt;br /&gt;
&lt;br /&gt;
at+xapp=&amp;quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4444555566667777PPPP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Applying a string of more than 52‭ ‬characters will trigger the overflow.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
The exploit was used by [[iPhone Dev Team]] in [[ultrasn0w]] 1.0-1 and 1.2, which is able to unlock the [[X-Gold 608]] basebands [[4.26.08]], [[5.11.07]], [[5.12.01]], [[5.13.04]] and [[6.15.00]](ultrasn0w 1.2 only), and [[XMM 6180]] baseband [[1.59.00]].&lt;br /&gt;
----&lt;br /&gt;
[[Category:Baseband Exploits]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13733</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13733"/>
		<updated>2010-11-28T22:53:29Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPhone((3G and 3Gs)) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
==[[iPhone]]((3G and 3Gs))==&lt;br /&gt;
It can be installed via [[PwnageTool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]]. It is required for unlockers who updated beyond baseband version [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13732</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13732"/>
		<updated>2010-11-28T22:52:38Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
==[[iPhone]]((3G and 3Gs))==&lt;br /&gt;
It can be installed via [[PwnageTool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]]. It is required for unlockers who updated beyond [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13731</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13731"/>
		<updated>2010-11-28T22:51:47Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPhone((3G and 3Gs)) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[K48ap|Wi-Fi+3G iPad]]==&lt;br /&gt;
This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
==[[iPhone]]((3G and 3Gs))==&lt;br /&gt;
It can be installed via [[PwnageTool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]]. It is required for unlockers who updated beyond [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13730</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13730"/>
		<updated>2010-11-28T22:33:26Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPhone((3G and 3Gs)) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[K48ap|Wi-Fi+3G iPad]]==&lt;br /&gt;
This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
==[[iPhone]]((3G and 3Gs))==&lt;br /&gt;
It can be installed via [[PwnageTool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]. It is required for unlockers who updated beyond [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13729</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13729"/>
		<updated>2010-11-28T22:32:50Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[K48ap|Wi-Fi+3G iPad]]==&lt;br /&gt;
This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
==[[iPhone]]((3G and 3Gs))==&lt;br /&gt;
It can be installed via [[Pwnage Tool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]. It is required for unlockers who updated beyond [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13728</id>
		<title>06.15.00</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=06.15.00&amp;diff=13728"/>
		<updated>2010-11-28T22:30:35Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the shipping baseband for the [[K48ap|Wi-Fi+3G iPad]].&lt;br /&gt;
&lt;br /&gt;
It can be installed via [[Pwnage Tool]] or [[Redsn0w]] on the [[N82ap|iPhone 3G]] and [[N88ap|iPhone 3GS]. It is required for unlockers who updated beyond [[5.13.04]].&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=AT%2BXAPP_Vulnerability&amp;diff=13727</id>
		<title>AT+XAPP Vulnerability</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=AT%2BXAPP_Vulnerability&amp;diff=13727"/>
		<updated>2010-11-28T22:25:10Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Used as an injection vector for the [[X-Gold 608]] and [[XMM 6180]] [[unlock]] payload. ‬Currently available in all X-Gold 608 basebands until [[5.13.04]] and [[6.15.00]], and XMM 6180 baseband [[1.59.00]].‬&lt;br /&gt;
‭&lt;br /&gt;
== Credit ==&lt;br /&gt;
* '''vulnerability''': [[sherif_hashim]], also discovered by [[westbaer]], [[User:Geohot|geohot]] and [[User:Oranav|Oranav]] (each one independently)&lt;br /&gt;
* '''exploitation''': [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
== Exploit ==&lt;br /&gt;
There is a stack overflow in the AT+XAPP‭=&amp;quot;...&amp;quot; ‬command‭, ‬which allows unsigned code execution on the [[X-Gold 608]] and [[XMM 6180]].&lt;br /&gt;
&lt;br /&gt;
at+xapp=&amp;quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4444555566667777PPPP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Applying a string of more than 52‭ ‬characters will trigger the overflow.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
The exploit was used by [[iPhone Dev Team]] in [[ultrasn0w]] 1.0-1, which is able to unlock the [[X-Gold 608]] basebands [[4.26.08]], [[5.11.07]], [[5.12.01]], [[5.13.04]] and [[6.15.00]], and [[XMM 6180]] baseband [[1.59.00]].&lt;br /&gt;
----&lt;br /&gt;
[[Category:Baseband Exploits]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13726</id>
		<title>Ultrasn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13726"/>
		<updated>2010-11-28T22:22:52Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Injection Vectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ultrasn0w (previously: yellowsn0w) is an [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[N90ap|iPhone 4]] [[Unlock 2.0|unlock]] payload. yellowsn0w was released on 01/01/09 [http://blog.iphone-dev.org/post/67797811]. ultrasn0w was released on June 23th 2009 [http://blog.iphone-dev.org/post/128573459/ultras-now].&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
[[MuscleNerd]], and [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
==Exploit==&lt;br /&gt;
Relies on an unsigned code injection vulnerability.&lt;br /&gt;
&lt;br /&gt;
The actual unlock works by a daemon patching the baseband's RAM on-the-fly, overriding the carrier lock code. It is not permanent because of the signature checks - the bootloader has to pass the sigchecks and the baseband has to pass them too, so any change to the baseband/bootloader cannot be made.&lt;br /&gt;
&lt;br /&gt;
==Injection Vectors==&lt;br /&gt;
* [[AT+stkprof Exploit]] - used by yellowsn0w to unlock [[X-Gold 608]] baseband [[2.28.00]].&lt;br /&gt;
* [[AT+XLOG Vulnerability]] - used by ultrasn0w to unlock [[X-Gold 608]] baseband [[4.26.08]].&lt;br /&gt;
* [[AT+XAPP Vulnerability]] - used by ultrasn0w 0.93 and 1.2 to unlock public releases of [[X-Gold 608]] basebands [[4.26.08]] through [[5.13.04]] and [[6.15.00]] (ultrasn0w 1.2 only), and [[XMM 6180]] baseband [[1.59.00]])&lt;br /&gt;
&lt;br /&gt;
==ultrasn0w payload with comments (by [[User:Oranav|Oranav]])==&lt;br /&gt;
&lt;br /&gt;
===Code loader (incl. Stage2)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 code_loader&lt;br /&gt;
ROM:00000000 dest_addr = R1&lt;br /&gt;
ROM:00000000 src_addr = R6&lt;br /&gt;
ROM:00000000                 MOVLS   dest_addr, 0x110&lt;br /&gt;
ROM:00000004                 ADDS    dest_addr, #6&lt;br /&gt;
ROM:00000006                 LSLS    dest_addr, dest_addr, #8 ; unused ram to place code = 0x11600&lt;br /&gt;
ROM:00000008                 ADDS    R2, dest_addr, #1 ; thumbing&lt;br /&gt;
ROM:0000000A&lt;br /&gt;
ROM:0000000A loop                                    ; CODE XREF: code_loader+24�j&lt;br /&gt;
ROM:0000000A                 MOVLS   R0, 0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000E                 LDRB    R3, [src_addr]  ; first nibble&lt;br /&gt;
ROM:00000010                 CMP     R0, R3&lt;br /&gt;
ROM:00000012                 LDRB    R0, [src_addr,#1] ; second nibble&lt;br /&gt;
ROM:00000014                 BEQ     run             ; branch if end of string&lt;br /&gt;
ROM:00000016                 SUBS    R3, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:00000018                 SUBS    R0, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:0000001A                 LSLS    R3, R3, #4      ; make room for next nibble&lt;br /&gt;
ROM:0000001C                 ADDS    R3, R3, R0      ; put them together as a byte&lt;br /&gt;
ROM:0000001E                 STRB    R3, [dest_addr]&lt;br /&gt;
ROM:00000020                 ADDS    dest_addr, #1&lt;br /&gt;
ROM:00000022                 ADDS    src_addr, #2&lt;br /&gt;
ROM:00000024                 B       loop&lt;br /&gt;
ROM:00000026 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:00000026&lt;br /&gt;
ROM:00000026 run                                     ; CODE XREF: code_loader+14�j&lt;br /&gt;
ROM:00000026                 BLX     R2              ; handler_replace()&lt;br /&gt;
ROM:00000028                 MOVLS   R0, 0           ; safe exit&lt;br /&gt;
ROM:0000002C                 ADDS    dest_addr, R0, #0&lt;br /&gt;
ROM:0000002E                 BLX     R4&lt;br /&gt;
ROM:00000030                 MOV     SP, R5&lt;br /&gt;
ROM:00000032                 POP     {R0-src_addr,PC}&lt;br /&gt;
ROM:00000032 ; End of function code_loader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Handler replace===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011600 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600 handler_replace&lt;br /&gt;
RAM:00011600                 PUSH    {LR}&lt;br /&gt;
RAM:00011602                 LDR     R0, =0x40492FC0 ; where to save task_loop_jmp + task_loop&lt;br /&gt;
RAM:00011604                 ADR     R1, task_loop_jmp&lt;br /&gt;
RAM:00011606                 ADR     R2, task_loop_end&lt;br /&gt;
RAM:00011608                 SUBS    R2, R2, R1      ; size of task_loop + task_loop_jmp = 0x70&lt;br /&gt;
RAM:0001160A                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:0001160C                 BLX     R3&lt;br /&gt;
RAM:0001160E                 LDR     R0, =0x40492C20 ; where to save task_creator_jmp + task_creator&lt;br /&gt;
RAM:00011610                 ADR     R1, task_creator_jmp&lt;br /&gt;
RAM:00011612                 ADR     R2, task_creator_end&lt;br /&gt;
RAM:00011614                 SUBS    R2, R2, R1      ; size of task_creator + task_creator_jmp = 0xA0&lt;br /&gt;
RAM:00011616                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:00011618                 BLX     R3&lt;br /&gt;
RAM:0001161A                 LDR     R0, =0x40492C20&lt;br /&gt;
RAM:0001161C                 BLX     R0              ; task_creator_jmp()&lt;br /&gt;
RAM:0001161E                 POP     {PC}&lt;br /&gt;
RAM:0001161E ; End of function handler_replace&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:40492C20 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20 task_creator_jmp&lt;br /&gt;
RAM:40492C20                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:40492C24                 BLX     task_creator&lt;br /&gt;
RAM:40492C28                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:40492C28 ; End of function task_creator_jmp&lt;br /&gt;
RAM:40492C28&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C task_creator                            ; CODE XREF: task_creator_jmp+4�p&lt;br /&gt;
RAM:40492C2C                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:40492C2E                 LDR     R3, =0x401ED3B8 ; jumptable var&lt;br /&gt;
RAM:40492C30                 MOVLS   R4, 0x800&lt;br /&gt;
RAM:40492C34                 SUB     SP, SP, #0x24&lt;br /&gt;
RAM:40492C36                 STRH    R0, [R3]        ; task_creator_jmp addr&lt;br /&gt;
RAM:40492C38                 LDR     R5, =0x201493F0 ; malloc&lt;br /&gt;
RAM:40492C3A                 ADDS    R0, R4, #0      ; 0x800&lt;br /&gt;
RAM:40492C3C                 ADDS    R7, R1, #0      ; R7 = resp_string&lt;br /&gt;
RAM:40492C3E                 BLX     R5              ; malloc(0x800)&lt;br /&gt;
RAM:40492C40                 ADDS    R6, R0, #0      ; R6 = addr returned from malloc&lt;br /&gt;
RAM:40492C42                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:40492C44                 BLX     R5              ; malloc(sizeof(NU_TASK))&lt;br /&gt;
RAM:40492C46                 MOVS    R2, #0&lt;br /&gt;
RAM:40492C48                 MOVS    R3, #0x44&lt;br /&gt;
RAM:40492C4A                 LDR     R1, =aDevteam1  ; char *name&lt;br /&gt;
RAM:40492C4C                 STR     R2, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:40492C4E                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:40492C50                 MOVS    R3, #0xA&lt;br /&gt;
RAM:40492C52                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:40492C54                 MOVS    R3, #0xC&lt;br /&gt;
RAM:40492C56                 STR     R2, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:40492C58                 STR     R4, [SP,#8]     ; stack_size = 0x800&lt;br /&gt;
RAM:40492C5A                 STR     R2, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:40492C5C                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:40492C5E                 LDR     R2, =0x40492FC0 ; task_loop_jmp address&lt;br /&gt;
RAM:40492C60                 STR     R6, [SP,#4]     ; void *stack_address = malloc(0x800)&lt;br /&gt;
RAM:40492C62                 MOVS    R3, #0&lt;br /&gt;
RAM:40492C64                 LDR     R4, =0x2043E5B4 ; NU_Create_Task&lt;br /&gt;
RAM:40492C66                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:40492C68                 ADDS    R2, R0, #0      ; R2 = status (for the %d reference in sprintf)&lt;br /&gt;
RAM:40492C6A                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:40492C6C                 BNE     status_error&lt;br /&gt;
RAM:40492C6E                 LDR     R1, =aOk        ; &amp;quot;OK!&amp;quot;&lt;br /&gt;
RAM:40492C70                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C72                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C74                 BLX     R3              ; sprintf(resp_string, &amp;quot;OK!&amp;quot;)&lt;br /&gt;
RAM:40492C76                 B       exit&lt;br /&gt;
RAM:40492C78 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:40492C78&lt;br /&gt;
RAM:40492C78 status_error                            ; CODE XREF: task_creator+40�j&lt;br /&gt;
RAM:40492C78                 LDR     R1, =aErrorD    ; &amp;quot;ERROR %d&amp;quot;&lt;br /&gt;
RAM:40492C7A                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C7C                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C7E                 BLX     R3              ; sprintf(resp_string, &amp;quot;ERROR %d&amp;quot;, status)&lt;br /&gt;
RAM:40492C80&lt;br /&gt;
RAM:40492C80 exit                                    ; CODE XREF: task_creator+4A�j&lt;br /&gt;
RAM:40492C80                 ADD     SP, SP, #0x24   ; fixing stack&lt;br /&gt;
RAM:40492C82                 POP     {R4-R7,PC}&lt;br /&gt;
RAM:40492C82 ; End of function task_creator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011630 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630 task_loop_jmp&lt;br /&gt;
RAM:00011630                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:00011634                 BLX     task_loop&lt;br /&gt;
RAM:00011634 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011638                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:00011638 ; End of function task_loop_jmp&lt;br /&gt;
RAM:00011638&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C task_loop&lt;br /&gt;
RAM:0001163C                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:0001163E                 LDR     R5, =0x401E829C ; sec mailbox&lt;br /&gt;
RAM:00011640                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011642&lt;br /&gt;
RAM:00011642 loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011642                 LDR     R3, =0x2042FFD8 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011644                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011646                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011648                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:0001164A                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:0001164C                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:0001164E                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011650                 BNE     skip&lt;br /&gt;
RAM:00011652                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011654                 LDR     R3, =0x40301650&lt;br /&gt;
RAM:00011656                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011658                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:0001165A                 ADDS    R3, #4          ; 0x40301654&lt;br /&gt;
RAM:0001165C                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:0001165E                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011660                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011662                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011664                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011666                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011668                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:0001166A                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:0001166C                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:0001166E                 MOVS    R3, #1&lt;br /&gt;
RAM:00011670                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011672                 MOVS    R3, #0x20 ; ' '&lt;br /&gt;
RAM:00011674                 STR     R3, [SP] ; Message[0] = 0x20&lt;br /&gt;
RAM:00011676&lt;br /&gt;
RAM:00011676 skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011676                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011678                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:0001167A                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:0001167C                 LDR     R3, =0x20430040&lt;br /&gt;
RAM:0001167E                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011680                 B       loop&lt;br /&gt;
RAM:00011680 ; End of function task_loop&lt;br /&gt;
RAM:00011680&lt;br /&gt;
RAM:00011680 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Old yellowsn0w payload w/ comments (by Darkmen) ==&lt;br /&gt;
&lt;br /&gt;
The exploit consists from 4 parts:&lt;br /&gt;
&lt;br /&gt;
===Code loader===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 loader&lt;br /&gt;
ROM:00000000                 LDR     R2, =0x11700    ; unused ram to place code&lt;br /&gt;
ROM:00000002                 ADDS    R4, R2, #1      ; thumb switch&lt;br /&gt;
ROM:00000004                 LDR     R3, =0x40159FBF ; at-handler buffer where stage2 binary and following hexdata are&lt;br /&gt;
ROM:00000006&lt;br /&gt;
ROM:00000006 copy.loop                               ; CODE XREF: loader+12�j&lt;br /&gt;
ROM:00000006                 LDRB    R0, [R3]        ; copying code+data until double quotes&lt;br /&gt;
ROM:00000008                 CMP     R0, #0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000A                 BEQ     run             ; jump thumb code&lt;br /&gt;
ROM:0000000C                 STRB    R0, [R2]&lt;br /&gt;
ROM:0000000E                 ADDS    R2, #1&lt;br /&gt;
ROM:00000010                 ADDS    R3, #1&lt;br /&gt;
ROM:00000012                 B       copy.loop       ; &lt;br /&gt;
ROM:00000014 run                                     ; CODE XREF: loader+A�j&lt;br /&gt;
ROM:00000014                 BX      R4              ; jump stage2 code&lt;br /&gt;
ROM:00000014 ; End of function loader&lt;br /&gt;
ROM:00000014&lt;br /&gt;
ROM:00000014 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stage2(tm)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000000 stage2&lt;br /&gt;
RAM:00000000                 ADDS    R2, #0x10       ; R2 = 0x11700 + stage2 size&lt;br /&gt;
RAM:00000002                 MOVS    R7, #0xF&lt;br /&gt;
RAM:00000004                 BICS    R2, R7          ; align offset by 0x10&lt;br /&gt;
RAM:00000006                 ADDS    R7, R2, #0      ; saving address to jump&lt;br /&gt;
RAM:00000008                 ADR     R4, 0x44        ; skipping Stage2 size and taking first char from at-string&lt;br /&gt;
RAM:0000000A                 ADR     R5, char2byte   ; loading routine addr&lt;br /&gt;
RAM:0000000C                 ADDS    R5, #1          ; thumb&lt;br /&gt;
RAM:0000000E&lt;br /&gt;
RAM:0000000E loop                                    ; CODE XREF: stage2+2C�j&lt;br /&gt;
RAM:0000000E                 LDRB    R1, [R4]        ; at-string[index]&lt;br /&gt;
RAM:00000010                 CMP     R1, #'x'        ; end of line?&lt;br /&gt;
RAM:00000012                 BEQ     jump_code&lt;br /&gt;
RAM:00000014                 BLX     R5              ; char2byte first hakfbyte&lt;br /&gt;
RAM:00000016                 LSLS    R3, R1, #4      ; &amp;lt;&amp;lt;4 0X becoming X0&lt;br /&gt;
RAM:00000018                 LDRB    R1, [R4,#1]     ; at-string[index+1]&lt;br /&gt;
RAM:0000001A                 BLX     R5              ; char2hex second halfbyte&lt;br /&gt;
RAM:0000001C                 NOP&lt;br /&gt;
RAM:0000001E                 NOP&lt;br /&gt;
RAM:00000020                 NOP&lt;br /&gt;
RAM:00000022                 NOP&lt;br /&gt;
RAM:00000024                 ADDS    R1, R1, R3      ; R1 = complete byte&lt;br /&gt;
RAM:00000026                 STRB    R1, [R2]        ; storing byte to dst&lt;br /&gt;
RAM:00000028                 ADDS    R4, #2          ; hexstr_index+=2&lt;br /&gt;
RAM:0000002A                 ADDS    R2, #1          ; dst++&lt;br /&gt;
RAM:0000002C                 B       loop            ; at-string[index]&lt;br /&gt;
RAM:0000002E jump_code&lt;br /&gt;
RAM:0000002E                 NOP&lt;br /&gt;
RAM:00000030                 NOP&lt;br /&gt;
RAM:00000032                 ADDS    R7, #1          ; thumbing&lt;br /&gt;
RAM:00000034                 BX      R7              ; run Task creator code&lt;br /&gt;
RAM:00000034 ; End of function stage2&lt;br /&gt;
RAM:00000038&lt;br /&gt;
RAM:00000038 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000038 char2byte                               ; DATA XREF: stage2+A�o&lt;br /&gt;
RAM:00000038                 CMP     R1, #0x41 ; 'A'&lt;br /&gt;
RAM:0000003A                 BGE     letter          ; letter to number&lt;br /&gt;
RAM:0000003C                 SUBS    R1, #0x30 ; '0' ; digit to number&lt;br /&gt;
RAM:0000003E                 BX      LR&lt;br /&gt;
RAM:00000040 letter                                  ; CODE XREF: char2byte+2�j&lt;br /&gt;
RAM:00000040                 SUBS    R1, #0x37 ; '7' ; letter to number&lt;br /&gt;
RAM:00000042                 BX      LR              ; ret&lt;br /&gt;
RAM:00000042 ; End of function char2byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:000119A0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0 handler_replace&lt;br /&gt;
RAM:000119A0                 LDR     R0, =0x4011714C ; soft reset handler addr&lt;br /&gt;
RAM:000119A2                 ADR     R1, new_handler&lt;br /&gt;
RAM:000119A4                 ADDS    R1, #1          ; thumbing&lt;br /&gt;
RAM:000119A6                 STR     R1, [R0]        ; setting new handler&lt;br /&gt;
RAM:000119A8                 POP     {R0-R4,PC}      ; safe exit fixing stack&lt;br /&gt;
RAM:000119A8 ; End of function handler_replace&lt;br /&gt;
&lt;br /&gt;
RAM:000119B0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0 new_handler                             ; DATA XREF: handler_replace+2�o&lt;br /&gt;
RAM:000119B0                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:000119B2                 LDR     R3, =0x403BB344 ; jamptable var&lt;br /&gt;
RAM:000119B4                 MOVS    R6, #0x80&lt;br /&gt;
RAM:000119B6                 SUB     SP, SP, #0x2C&lt;br /&gt;
RAM:000119B8                 LSLS    R6, R6, #4      ; 0x200&lt;br /&gt;
RAM:000119BA                 STRH    R0, [R3]        ; saving R0 to mem var&lt;br /&gt;
RAM:000119BC                 STR     R1, [SP,#0x40+resp_string] ; saving responce prt to stack&lt;br /&gt;
RAM:000119BE                 LDR     R4, =0x201420AC ; malloc&lt;br /&gt;
RAM:000119C0                 ADDS    R0, R6, #0&lt;br /&gt;
RAM:000119C2                 BLX     R4              ; malloc(0x200)&lt;br /&gt;
RAM:000119C4                 MOVS    R5, #0&lt;br /&gt;
RAM:000119C6                 STR     R0, [SP,#0x40+ptr_200] ; saving pointer to stack&lt;br /&gt;
RAM:000119C8                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:000119CA                 BLX     R4              ; malloc(0x98)&lt;br /&gt;
RAM:000119CC                 ADDS    R7, R0, #0      ; R7 = task&lt;br /&gt;
RAM:000119CE                 STR     R5, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:000119D0                 MOVS    R0, 0x100&lt;br /&gt;
RAM:000119D4                 BLX     R4              ; malloc(0x100)&lt;br /&gt;
RAM:000119D6                 MOVS    R2, #0x80&lt;br /&gt;
RAM:000119D8                 LDR     R1, =task_loop  ; src&lt;br /&gt;
RAM:000119DA                 LSLS    R2, R2, #1      ; size to copy&lt;br /&gt;
RAM:000119DC                 LDR     R3, =0x203C58A0 ; bytecpy&lt;br /&gt;
RAM:000119DE                 ADDS    R4, R0, #0      ; R4 = dyn_task_loop&lt;br /&gt;
RAM:000119E0                 BLX     R3              ; bytecpy(task_loop, dyn_task_loop, 0x100)&lt;br /&gt;
RAM:000119E2                 LDR     R3, [SP,#0x40+ptr_200]&lt;br /&gt;
RAM:000119E4                 STR     R3, [SP,#4]     ; void *stack_address = malloc(0x200)&lt;br /&gt;
RAM:000119E6                 MOVS    R3, #0x44&lt;br /&gt;
RAM:000119E8                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:000119EA                 MOVS    R3, #0xA&lt;br /&gt;
RAM:000119EC                 ADDS    R4, #1          ; thumbing dyn_task_loop&lt;br /&gt;
RAM:000119EE                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:000119F0                 MOVS    R3, #0xC&lt;br /&gt;
RAM:000119F2                 ADDS    R2, R4, #0      ; void(*task_entry)&lt;br /&gt;
RAM:000119F4                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:000119F6                 LDR     R1, =devteam1   ; char *name&lt;br /&gt;
RAM:000119F8                 STR     R5, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:000119FA                 STR     R6, [SP,#8]     ; stack_size = 0x200&lt;br /&gt;
RAM:000119FC                 STR     R5, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:000119FE                 ADDS    R0, R7, #0      ; NU_TASK *task&lt;br /&gt;
RAM:00011A00                 MOVS    R3, #0          ; int argc = 0&lt;br /&gt;
RAM:00011A02                 LDR     R4, =0x203FB540 ; NU_Create_Task&lt;br /&gt;
RAM:00011A04                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:00011A06                 ADDS    R2, R0, #0&lt;br /&gt;
RAM:00011A08                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:00011A0A                 BNE     status_error&lt;br /&gt;
RAM:00011A0C                 LDR     R1, =OK&lt;br /&gt;
RAM:00011A0E                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A10                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A12                 BLX     R3              ; sprintf(resp_string,&amp;quot;OK&amp;quot;)&lt;br /&gt;
RAM:00011A14                 B       exit            ; fixing stack&lt;br /&gt;
RAM:00011A16 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011A16&lt;br /&gt;
RAM:00011A16 status_error                            ; CODE XREF: new_handler+5A�j&lt;br /&gt;
RAM:00011A16                 LDR     R1, =ERROR&lt;br /&gt;
RAM:00011A18                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A1A                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A1C                 BLX     R3              ; sprintf(resp_string,&amp;quot;ERROR&amp;quot;)&lt;br /&gt;
RAM:00011A1E&lt;br /&gt;
RAM:00011A1E exit                                    ; CODE XREF: new_handler+64�j&lt;br /&gt;
RAM:00011A1E                 ADD     SP, SP, #0x2C   ; fixing stack&lt;br /&gt;
RAM:00011A20                 POP     {R4-R7,PC}      ; bye&lt;br /&gt;
RAM:00011A20 ; End of function new_handler&lt;br /&gt;
RAM:00011A20&lt;br /&gt;
RAM:00011A20 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011A64 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011A64&lt;br /&gt;
RAM:00011A64 task_loop                               ; DATA XREF: RAM:off_11A2C�o&lt;br /&gt;
RAM:00011A64                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:00011A66                 LDR     R5, =0x40232754 ; sec mailbox&lt;br /&gt;
RAM:00011A68                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011A6A&lt;br /&gt;
RAM:00011A6A loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011A6A                 LDR     R3, =0x20165998 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011A6C                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011A6E                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011A70                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:00011A72                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:00011A74                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:00011A76                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011A78                 BNE     skip            ; &lt;br /&gt;
RAM:00011A7A                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011A7C                 LDR     R3, =0x402F79BC&lt;br /&gt;
RAM:00011A7E                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011A80                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:00011A82                 ADDS    R3, #4          ; 0x402F79C0&lt;br /&gt;
RAM:00011A84                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:00011A86                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011A88                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011A8A                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011A8C                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011A8E                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011A90                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:00011A92                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:00011A94                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:00011A96                 MOVS    R3, #1&lt;br /&gt;
RAM:00011A98                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011A9A                 MOVS    R3, #0x20       &lt;br /&gt;
RAM:00011A9C                 STR     R3, [SP]        ; Message[0] = 0x20&lt;br /&gt;
RAM:00011A9E&lt;br /&gt;
RAM:00011A9E skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011A9E                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011AA0                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011AA2                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:00011AA4                 LDR     R3, =0x203ED568&lt;br /&gt;
RAM:00011AA6                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011AA8                 B       loop            ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011AA8 ; End of function task_loop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Planetbeing explains...===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13:24:29  &amp;lt;crash-x_&amp;gt; especially how does ultra/yellow sn0w work&lt;br /&gt;
13:24:40  &amp;lt;crash-x_&amp;gt; are you overwriting instructions&lt;br /&gt;
13:24:48  &amp;lt;crash-x_&amp;gt; or some values in memory to make it accept the sim?&lt;br /&gt;
13:24:48  &amp;lt;planetbeing&amp;gt; Nah.&lt;br /&gt;
13:24:53  &amp;lt;planetbeing&amp;gt; It's a task.&lt;br /&gt;
13:25:06  &amp;lt;planetbeing&amp;gt; That just waits for securiy messages to go through the inbox.&lt;br /&gt;
13:25:13  &amp;lt;westbaer&amp;gt; planetbeing: btw, why isnt yellowsn0w/ultrasn0w not open-source anymore? like u posted an *oooold* version once&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
13:26:33  &amp;lt;planetbeing&amp;gt; The only thing I do for ys/us is the loader bit.&lt;br /&gt;
13:26:39  &amp;lt;westbaer&amp;gt; so whats actually the loader stuff you've been talking about?&lt;br /&gt;
13:26:46  &amp;lt;planetbeing&amp;gt; That uses the exploit to start MuscleNerd's payload.&lt;br /&gt;
13:27:21  &amp;lt;westbaer&amp;gt; ah&lt;br /&gt;
13:27:26  &amp;lt;planetbeing&amp;gt; Well, you have a vulnerability.&lt;br /&gt;
13:27:30  &amp;lt;planetbeing&amp;gt; And you want to load a large chunk of code.&lt;br /&gt;
13:27:39  &amp;lt;planetbeing&amp;gt; And you don't have much room to wriggle in for your overflow&lt;br /&gt;
13:28:21  &amp;lt;westbaer&amp;gt; aah, makes sense&lt;br /&gt;
13:28:50  &amp;lt;planetbeing&amp;gt; So the solution is a small loader that loads the rest of the code, and overcomes any restrictions there are on allowable characters.&lt;br /&gt;
13:28:55  &amp;lt;ashikase&amp;gt; francis: pm&lt;br /&gt;
13:28:59  &amp;lt;westbaer&amp;gt; yeah&lt;br /&gt;
13:29:10  &amp;lt;crash-x_&amp;gt; planetbeing: the baseband is it like one process that runs there&lt;br /&gt;
13:29:19  &amp;lt;crash-x_&amp;gt; or is it like a small os with process and stuff&lt;br /&gt;
13:29:19  &amp;lt;planetbeing&amp;gt; Basically a good loader should turn a vulnerability into a reliable platform for the execution of arbitrary code, unrestricted by vulnerability-specific stuff.&lt;br /&gt;
13:29:37  &amp;lt;planetbeing&amp;gt; Oh, it's a full-featured OS.&lt;br /&gt;
13:29:38  &amp;lt;planetbeing&amp;gt; Nucleus.&lt;br /&gt;
13:29:51  &amp;lt;planetbeing&amp;gt; http://www.mentor.com/products/embedded_software/nucleus_rtos/&lt;br /&gt;
13:29:54  &amp;lt;crash-x_&amp;gt; and when you execute an at command&lt;br /&gt;
13:30:06  &amp;lt;crash-x_&amp;gt; does that start another process that is crashed then&lt;br /&gt;
13:30:21  &amp;lt;planetbeing&amp;gt; Ideally, you don't crash anything.&lt;br /&gt;
13:30:21  &amp;lt;crash-x_&amp;gt; or does it crash like the main baseband program&lt;br /&gt;
13:30:23  &amp;lt;planetbeing&amp;gt; And we don't.&lt;br /&gt;
13:30:49  &amp;lt;crash-x_&amp;gt; so am i understand it right&lt;br /&gt;
13:30:50  &amp;lt;westbaer&amp;gt; wait. is nucleus on the baseband already installed or do you actually inject it with ultrasn0w?&lt;br /&gt;
13:30:51  &amp;lt;planetbeing&amp;gt; We load a bunch of code into certain memory locations, execute them, and then return safely back to the main command parser task.&lt;br /&gt;
13:31:00  &amp;lt;planetbeing&amp;gt; Nucleus is what the baseband runs.&lt;br /&gt;
13:31:04  &amp;lt;westbaer&amp;gt; ah ok&lt;br /&gt;
13:31:29  &amp;lt;planetbeing&amp;gt; I mean, even the bootrom is an OS.&lt;br /&gt;
13:31:36  &amp;lt;planetbeing&amp;gt; With one task, but it still has a scheduler. =P&lt;br /&gt;
13:31:39  &amp;lt;crash-x_&amp;gt; ah thats how you do it&lt;br /&gt;
13:31:42  &amp;lt;westbaer&amp;gt; heh&lt;br /&gt;
13:31:44  &amp;lt;crash-x_&amp;gt; and about your payload&lt;br /&gt;
13:31:57  &amp;lt;crash-x_&amp;gt; does it start a new process like using fork() &lt;br /&gt;
13:32:03  &amp;lt;crash-x_&amp;gt; or does it all the work in the exploited process&lt;br /&gt;
13:32:11  &amp;lt;planetbeing&amp;gt; It uses Nucleus-specific calls that create the new task.&lt;br /&gt;
13:32:19  &amp;lt;planetbeing&amp;gt; Well, the payload has to create a new task&lt;br /&gt;
13:32:22  &amp;lt;westbaer&amp;gt; I think they are documented on the wiki&lt;br /&gt;
13:32:25  &amp;lt;planetbeing&amp;gt; To monitor for certain events.&lt;br /&gt;
13:32:47  &amp;lt;planetbeing&amp;gt; Yeah, just read Darkmen's decompile.&lt;br /&gt;
13:33:00  &amp;lt;planetbeing&amp;gt; us has the exact same payload as ys&lt;br /&gt;
13:33:08  &amp;lt;planetbeing&amp;gt; Just different addresses for function calls and stuff.&lt;br /&gt;
13:33:19  &amp;lt;planetbeing&amp;gt; And I had to rewrite the loader due to even tighter constraints.&lt;br /&gt;
13:33:28  &amp;lt;crash-x_&amp;gt; thats cool, thanks for explaining&lt;br /&gt;
13:33:34  &amp;lt;westbaer&amp;gt; yup, thanks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From irc.saurik.com #iphone on sunday the 5th of july.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
The source code for yellowsn0w 0.9.1 (old version) was released along with yellowsn0w release. [http://xs1.iphwn.org/releases/yellowsn0w.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[X-Gold 608 Unlock]]&lt;br /&gt;
* [[X-Gold 608]]&lt;br /&gt;
* [[Baseband Device]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://chronic-dev.org/blog/2008/12/props/ Chronic Dev's post about Yellowsn0w]&lt;br /&gt;
* [http://blog.iphone-dev.org/post/65126957/tis-the-season-to-be-jolly Yellowsn0w Announcement]&lt;br /&gt;
* [http://qik.com/video/729275 MuscleNerd's yellowsn0w Demo]&lt;br /&gt;
* [http://www.youtube.com/watch?v=kd5vOy2m5uY MuscleNerd's ultrasn0w demo]&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13725</id>
		<title>Ultrasn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13725"/>
		<updated>2010-11-28T22:22:05Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Injection Vectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ultrasn0w (previously: yellowsn0w) is an [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[N90ap|iPhone 4]] [[Unlock 2.0|unlock]] payload. yellowsn0w was released on 01/01/09 [http://blog.iphone-dev.org/post/67797811]. ultrasn0w was released on June 23th 2009 [http://blog.iphone-dev.org/post/128573459/ultras-now].&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
[[MuscleNerd]], and [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
==Exploit==&lt;br /&gt;
Relies on an unsigned code injection vulnerability.&lt;br /&gt;
&lt;br /&gt;
The actual unlock works by a daemon patching the baseband's RAM on-the-fly, overriding the carrier lock code. It is not permanent because of the signature checks - the bootloader has to pass the sigchecks and the baseband has to pass them too, so any change to the baseband/bootloader cannot be made.&lt;br /&gt;
&lt;br /&gt;
==Injection Vectors==&lt;br /&gt;
* [[AT+stkprof Exploit]] - used by yellowsn0w to unlock [[X-Gold 608]] baseband [[2.28.00]].&lt;br /&gt;
* [[AT+XLOG Vulnerability]] - used by ultrasn0w to unlock [[X-Gold 608]] baseband [[4.26.08]].&lt;br /&gt;
* [[AT+XAPP Vulnerability]] - used by ultrasn0w 0.93 anf 1.2 to unlock public releases of [[X-Gold 608]] basebands [[4.26.08]] through [[5.13.04]] and [[6.15.00]] (ultrasn0w 01.2 only), and [[XMM 6180]] baseband [[1.59.00]])&lt;br /&gt;
&lt;br /&gt;
==ultrasn0w payload with comments (by [[User:Oranav|Oranav]])==&lt;br /&gt;
&lt;br /&gt;
===Code loader (incl. Stage2)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 code_loader&lt;br /&gt;
ROM:00000000 dest_addr = R1&lt;br /&gt;
ROM:00000000 src_addr = R6&lt;br /&gt;
ROM:00000000                 MOVLS   dest_addr, 0x110&lt;br /&gt;
ROM:00000004                 ADDS    dest_addr, #6&lt;br /&gt;
ROM:00000006                 LSLS    dest_addr, dest_addr, #8 ; unused ram to place code = 0x11600&lt;br /&gt;
ROM:00000008                 ADDS    R2, dest_addr, #1 ; thumbing&lt;br /&gt;
ROM:0000000A&lt;br /&gt;
ROM:0000000A loop                                    ; CODE XREF: code_loader+24�j&lt;br /&gt;
ROM:0000000A                 MOVLS   R0, 0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000E                 LDRB    R3, [src_addr]  ; first nibble&lt;br /&gt;
ROM:00000010                 CMP     R0, R3&lt;br /&gt;
ROM:00000012                 LDRB    R0, [src_addr,#1] ; second nibble&lt;br /&gt;
ROM:00000014                 BEQ     run             ; branch if end of string&lt;br /&gt;
ROM:00000016                 SUBS    R3, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:00000018                 SUBS    R0, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:0000001A                 LSLS    R3, R3, #4      ; make room for next nibble&lt;br /&gt;
ROM:0000001C                 ADDS    R3, R3, R0      ; put them together as a byte&lt;br /&gt;
ROM:0000001E                 STRB    R3, [dest_addr]&lt;br /&gt;
ROM:00000020                 ADDS    dest_addr, #1&lt;br /&gt;
ROM:00000022                 ADDS    src_addr, #2&lt;br /&gt;
ROM:00000024                 B       loop&lt;br /&gt;
ROM:00000026 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:00000026&lt;br /&gt;
ROM:00000026 run                                     ; CODE XREF: code_loader+14�j&lt;br /&gt;
ROM:00000026                 BLX     R2              ; handler_replace()&lt;br /&gt;
ROM:00000028                 MOVLS   R0, 0           ; safe exit&lt;br /&gt;
ROM:0000002C                 ADDS    dest_addr, R0, #0&lt;br /&gt;
ROM:0000002E                 BLX     R4&lt;br /&gt;
ROM:00000030                 MOV     SP, R5&lt;br /&gt;
ROM:00000032                 POP     {R0-src_addr,PC}&lt;br /&gt;
ROM:00000032 ; End of function code_loader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Handler replace===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011600 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600 handler_replace&lt;br /&gt;
RAM:00011600                 PUSH    {LR}&lt;br /&gt;
RAM:00011602                 LDR     R0, =0x40492FC0 ; where to save task_loop_jmp + task_loop&lt;br /&gt;
RAM:00011604                 ADR     R1, task_loop_jmp&lt;br /&gt;
RAM:00011606                 ADR     R2, task_loop_end&lt;br /&gt;
RAM:00011608                 SUBS    R2, R2, R1      ; size of task_loop + task_loop_jmp = 0x70&lt;br /&gt;
RAM:0001160A                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:0001160C                 BLX     R3&lt;br /&gt;
RAM:0001160E                 LDR     R0, =0x40492C20 ; where to save task_creator_jmp + task_creator&lt;br /&gt;
RAM:00011610                 ADR     R1, task_creator_jmp&lt;br /&gt;
RAM:00011612                 ADR     R2, task_creator_end&lt;br /&gt;
RAM:00011614                 SUBS    R2, R2, R1      ; size of task_creator + task_creator_jmp = 0xA0&lt;br /&gt;
RAM:00011616                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:00011618                 BLX     R3&lt;br /&gt;
RAM:0001161A                 LDR     R0, =0x40492C20&lt;br /&gt;
RAM:0001161C                 BLX     R0              ; task_creator_jmp()&lt;br /&gt;
RAM:0001161E                 POP     {PC}&lt;br /&gt;
RAM:0001161E ; End of function handler_replace&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:40492C20 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20 task_creator_jmp&lt;br /&gt;
RAM:40492C20                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:40492C24                 BLX     task_creator&lt;br /&gt;
RAM:40492C28                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:40492C28 ; End of function task_creator_jmp&lt;br /&gt;
RAM:40492C28&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C task_creator                            ; CODE XREF: task_creator_jmp+4�p&lt;br /&gt;
RAM:40492C2C                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:40492C2E                 LDR     R3, =0x401ED3B8 ; jumptable var&lt;br /&gt;
RAM:40492C30                 MOVLS   R4, 0x800&lt;br /&gt;
RAM:40492C34                 SUB     SP, SP, #0x24&lt;br /&gt;
RAM:40492C36                 STRH    R0, [R3]        ; task_creator_jmp addr&lt;br /&gt;
RAM:40492C38                 LDR     R5, =0x201493F0 ; malloc&lt;br /&gt;
RAM:40492C3A                 ADDS    R0, R4, #0      ; 0x800&lt;br /&gt;
RAM:40492C3C                 ADDS    R7, R1, #0      ; R7 = resp_string&lt;br /&gt;
RAM:40492C3E                 BLX     R5              ; malloc(0x800)&lt;br /&gt;
RAM:40492C40                 ADDS    R6, R0, #0      ; R6 = addr returned from malloc&lt;br /&gt;
RAM:40492C42                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:40492C44                 BLX     R5              ; malloc(sizeof(NU_TASK))&lt;br /&gt;
RAM:40492C46                 MOVS    R2, #0&lt;br /&gt;
RAM:40492C48                 MOVS    R3, #0x44&lt;br /&gt;
RAM:40492C4A                 LDR     R1, =aDevteam1  ; char *name&lt;br /&gt;
RAM:40492C4C                 STR     R2, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:40492C4E                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:40492C50                 MOVS    R3, #0xA&lt;br /&gt;
RAM:40492C52                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:40492C54                 MOVS    R3, #0xC&lt;br /&gt;
RAM:40492C56                 STR     R2, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:40492C58                 STR     R4, [SP,#8]     ; stack_size = 0x800&lt;br /&gt;
RAM:40492C5A                 STR     R2, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:40492C5C                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:40492C5E                 LDR     R2, =0x40492FC0 ; task_loop_jmp address&lt;br /&gt;
RAM:40492C60                 STR     R6, [SP,#4]     ; void *stack_address = malloc(0x800)&lt;br /&gt;
RAM:40492C62                 MOVS    R3, #0&lt;br /&gt;
RAM:40492C64                 LDR     R4, =0x2043E5B4 ; NU_Create_Task&lt;br /&gt;
RAM:40492C66                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:40492C68                 ADDS    R2, R0, #0      ; R2 = status (for the %d reference in sprintf)&lt;br /&gt;
RAM:40492C6A                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:40492C6C                 BNE     status_error&lt;br /&gt;
RAM:40492C6E                 LDR     R1, =aOk        ; &amp;quot;OK!&amp;quot;&lt;br /&gt;
RAM:40492C70                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C72                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C74                 BLX     R3              ; sprintf(resp_string, &amp;quot;OK!&amp;quot;)&lt;br /&gt;
RAM:40492C76                 B       exit&lt;br /&gt;
RAM:40492C78 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:40492C78&lt;br /&gt;
RAM:40492C78 status_error                            ; CODE XREF: task_creator+40�j&lt;br /&gt;
RAM:40492C78                 LDR     R1, =aErrorD    ; &amp;quot;ERROR %d&amp;quot;&lt;br /&gt;
RAM:40492C7A                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C7C                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C7E                 BLX     R3              ; sprintf(resp_string, &amp;quot;ERROR %d&amp;quot;, status)&lt;br /&gt;
RAM:40492C80&lt;br /&gt;
RAM:40492C80 exit                                    ; CODE XREF: task_creator+4A�j&lt;br /&gt;
RAM:40492C80                 ADD     SP, SP, #0x24   ; fixing stack&lt;br /&gt;
RAM:40492C82                 POP     {R4-R7,PC}&lt;br /&gt;
RAM:40492C82 ; End of function task_creator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011630 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630 task_loop_jmp&lt;br /&gt;
RAM:00011630                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:00011634                 BLX     task_loop&lt;br /&gt;
RAM:00011634 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011638                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:00011638 ; End of function task_loop_jmp&lt;br /&gt;
RAM:00011638&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C task_loop&lt;br /&gt;
RAM:0001163C                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:0001163E                 LDR     R5, =0x401E829C ; sec mailbox&lt;br /&gt;
RAM:00011640                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011642&lt;br /&gt;
RAM:00011642 loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011642                 LDR     R3, =0x2042FFD8 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011644                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011646                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011648                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:0001164A                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:0001164C                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:0001164E                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011650                 BNE     skip&lt;br /&gt;
RAM:00011652                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011654                 LDR     R3, =0x40301650&lt;br /&gt;
RAM:00011656                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011658                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:0001165A                 ADDS    R3, #4          ; 0x40301654&lt;br /&gt;
RAM:0001165C                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:0001165E                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011660                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011662                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011664                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011666                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011668                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:0001166A                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:0001166C                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:0001166E                 MOVS    R3, #1&lt;br /&gt;
RAM:00011670                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011672                 MOVS    R3, #0x20 ; ' '&lt;br /&gt;
RAM:00011674                 STR     R3, [SP] ; Message[0] = 0x20&lt;br /&gt;
RAM:00011676&lt;br /&gt;
RAM:00011676 skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011676                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011678                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:0001167A                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:0001167C                 LDR     R3, =0x20430040&lt;br /&gt;
RAM:0001167E                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011680                 B       loop&lt;br /&gt;
RAM:00011680 ; End of function task_loop&lt;br /&gt;
RAM:00011680&lt;br /&gt;
RAM:00011680 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Old yellowsn0w payload w/ comments (by Darkmen) ==&lt;br /&gt;
&lt;br /&gt;
The exploit consists from 4 parts:&lt;br /&gt;
&lt;br /&gt;
===Code loader===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 loader&lt;br /&gt;
ROM:00000000                 LDR     R2, =0x11700    ; unused ram to place code&lt;br /&gt;
ROM:00000002                 ADDS    R4, R2, #1      ; thumb switch&lt;br /&gt;
ROM:00000004                 LDR     R3, =0x40159FBF ; at-handler buffer where stage2 binary and following hexdata are&lt;br /&gt;
ROM:00000006&lt;br /&gt;
ROM:00000006 copy.loop                               ; CODE XREF: loader+12�j&lt;br /&gt;
ROM:00000006                 LDRB    R0, [R3]        ; copying code+data until double quotes&lt;br /&gt;
ROM:00000008                 CMP     R0, #0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000A                 BEQ     run             ; jump thumb code&lt;br /&gt;
ROM:0000000C                 STRB    R0, [R2]&lt;br /&gt;
ROM:0000000E                 ADDS    R2, #1&lt;br /&gt;
ROM:00000010                 ADDS    R3, #1&lt;br /&gt;
ROM:00000012                 B       copy.loop       ; &lt;br /&gt;
ROM:00000014 run                                     ; CODE XREF: loader+A�j&lt;br /&gt;
ROM:00000014                 BX      R4              ; jump stage2 code&lt;br /&gt;
ROM:00000014 ; End of function loader&lt;br /&gt;
ROM:00000014&lt;br /&gt;
ROM:00000014 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stage2(tm)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000000 stage2&lt;br /&gt;
RAM:00000000                 ADDS    R2, #0x10       ; R2 = 0x11700 + stage2 size&lt;br /&gt;
RAM:00000002                 MOVS    R7, #0xF&lt;br /&gt;
RAM:00000004                 BICS    R2, R7          ; align offset by 0x10&lt;br /&gt;
RAM:00000006                 ADDS    R7, R2, #0      ; saving address to jump&lt;br /&gt;
RAM:00000008                 ADR     R4, 0x44        ; skipping Stage2 size and taking first char from at-string&lt;br /&gt;
RAM:0000000A                 ADR     R5, char2byte   ; loading routine addr&lt;br /&gt;
RAM:0000000C                 ADDS    R5, #1          ; thumb&lt;br /&gt;
RAM:0000000E&lt;br /&gt;
RAM:0000000E loop                                    ; CODE XREF: stage2+2C�j&lt;br /&gt;
RAM:0000000E                 LDRB    R1, [R4]        ; at-string[index]&lt;br /&gt;
RAM:00000010                 CMP     R1, #'x'        ; end of line?&lt;br /&gt;
RAM:00000012                 BEQ     jump_code&lt;br /&gt;
RAM:00000014                 BLX     R5              ; char2byte first hakfbyte&lt;br /&gt;
RAM:00000016                 LSLS    R3, R1, #4      ; &amp;lt;&amp;lt;4 0X becoming X0&lt;br /&gt;
RAM:00000018                 LDRB    R1, [R4,#1]     ; at-string[index+1]&lt;br /&gt;
RAM:0000001A                 BLX     R5              ; char2hex second halfbyte&lt;br /&gt;
RAM:0000001C                 NOP&lt;br /&gt;
RAM:0000001E                 NOP&lt;br /&gt;
RAM:00000020                 NOP&lt;br /&gt;
RAM:00000022                 NOP&lt;br /&gt;
RAM:00000024                 ADDS    R1, R1, R3      ; R1 = complete byte&lt;br /&gt;
RAM:00000026                 STRB    R1, [R2]        ; storing byte to dst&lt;br /&gt;
RAM:00000028                 ADDS    R4, #2          ; hexstr_index+=2&lt;br /&gt;
RAM:0000002A                 ADDS    R2, #1          ; dst++&lt;br /&gt;
RAM:0000002C                 B       loop            ; at-string[index]&lt;br /&gt;
RAM:0000002E jump_code&lt;br /&gt;
RAM:0000002E                 NOP&lt;br /&gt;
RAM:00000030                 NOP&lt;br /&gt;
RAM:00000032                 ADDS    R7, #1          ; thumbing&lt;br /&gt;
RAM:00000034                 BX      R7              ; run Task creator code&lt;br /&gt;
RAM:00000034 ; End of function stage2&lt;br /&gt;
RAM:00000038&lt;br /&gt;
RAM:00000038 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000038 char2byte                               ; DATA XREF: stage2+A�o&lt;br /&gt;
RAM:00000038                 CMP     R1, #0x41 ; 'A'&lt;br /&gt;
RAM:0000003A                 BGE     letter          ; letter to number&lt;br /&gt;
RAM:0000003C                 SUBS    R1, #0x30 ; '0' ; digit to number&lt;br /&gt;
RAM:0000003E                 BX      LR&lt;br /&gt;
RAM:00000040 letter                                  ; CODE XREF: char2byte+2�j&lt;br /&gt;
RAM:00000040                 SUBS    R1, #0x37 ; '7' ; letter to number&lt;br /&gt;
RAM:00000042                 BX      LR              ; ret&lt;br /&gt;
RAM:00000042 ; End of function char2byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:000119A0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0 handler_replace&lt;br /&gt;
RAM:000119A0                 LDR     R0, =0x4011714C ; soft reset handler addr&lt;br /&gt;
RAM:000119A2                 ADR     R1, new_handler&lt;br /&gt;
RAM:000119A4                 ADDS    R1, #1          ; thumbing&lt;br /&gt;
RAM:000119A6                 STR     R1, [R0]        ; setting new handler&lt;br /&gt;
RAM:000119A8                 POP     {R0-R4,PC}      ; safe exit fixing stack&lt;br /&gt;
RAM:000119A8 ; End of function handler_replace&lt;br /&gt;
&lt;br /&gt;
RAM:000119B0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0 new_handler                             ; DATA XREF: handler_replace+2�o&lt;br /&gt;
RAM:000119B0                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:000119B2                 LDR     R3, =0x403BB344 ; jamptable var&lt;br /&gt;
RAM:000119B4                 MOVS    R6, #0x80&lt;br /&gt;
RAM:000119B6                 SUB     SP, SP, #0x2C&lt;br /&gt;
RAM:000119B8                 LSLS    R6, R6, #4      ; 0x200&lt;br /&gt;
RAM:000119BA                 STRH    R0, [R3]        ; saving R0 to mem var&lt;br /&gt;
RAM:000119BC                 STR     R1, [SP,#0x40+resp_string] ; saving responce prt to stack&lt;br /&gt;
RAM:000119BE                 LDR     R4, =0x201420AC ; malloc&lt;br /&gt;
RAM:000119C0                 ADDS    R0, R6, #0&lt;br /&gt;
RAM:000119C2                 BLX     R4              ; malloc(0x200)&lt;br /&gt;
RAM:000119C4                 MOVS    R5, #0&lt;br /&gt;
RAM:000119C6                 STR     R0, [SP,#0x40+ptr_200] ; saving pointer to stack&lt;br /&gt;
RAM:000119C8                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:000119CA                 BLX     R4              ; malloc(0x98)&lt;br /&gt;
RAM:000119CC                 ADDS    R7, R0, #0      ; R7 = task&lt;br /&gt;
RAM:000119CE                 STR     R5, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:000119D0                 MOVS    R0, 0x100&lt;br /&gt;
RAM:000119D4                 BLX     R4              ; malloc(0x100)&lt;br /&gt;
RAM:000119D6                 MOVS    R2, #0x80&lt;br /&gt;
RAM:000119D8                 LDR     R1, =task_loop  ; src&lt;br /&gt;
RAM:000119DA                 LSLS    R2, R2, #1      ; size to copy&lt;br /&gt;
RAM:000119DC                 LDR     R3, =0x203C58A0 ; bytecpy&lt;br /&gt;
RAM:000119DE                 ADDS    R4, R0, #0      ; R4 = dyn_task_loop&lt;br /&gt;
RAM:000119E0                 BLX     R3              ; bytecpy(task_loop, dyn_task_loop, 0x100)&lt;br /&gt;
RAM:000119E2                 LDR     R3, [SP,#0x40+ptr_200]&lt;br /&gt;
RAM:000119E4                 STR     R3, [SP,#4]     ; void *stack_address = malloc(0x200)&lt;br /&gt;
RAM:000119E6                 MOVS    R3, #0x44&lt;br /&gt;
RAM:000119E8                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:000119EA                 MOVS    R3, #0xA&lt;br /&gt;
RAM:000119EC                 ADDS    R4, #1          ; thumbing dyn_task_loop&lt;br /&gt;
RAM:000119EE                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:000119F0                 MOVS    R3, #0xC&lt;br /&gt;
RAM:000119F2                 ADDS    R2, R4, #0      ; void(*task_entry)&lt;br /&gt;
RAM:000119F4                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:000119F6                 LDR     R1, =devteam1   ; char *name&lt;br /&gt;
RAM:000119F8                 STR     R5, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:000119FA                 STR     R6, [SP,#8]     ; stack_size = 0x200&lt;br /&gt;
RAM:000119FC                 STR     R5, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:000119FE                 ADDS    R0, R7, #0      ; NU_TASK *task&lt;br /&gt;
RAM:00011A00                 MOVS    R3, #0          ; int argc = 0&lt;br /&gt;
RAM:00011A02                 LDR     R4, =0x203FB540 ; NU_Create_Task&lt;br /&gt;
RAM:00011A04                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:00011A06                 ADDS    R2, R0, #0&lt;br /&gt;
RAM:00011A08                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:00011A0A                 BNE     status_error&lt;br /&gt;
RAM:00011A0C                 LDR     R1, =OK&lt;br /&gt;
RAM:00011A0E                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A10                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A12                 BLX     R3              ; sprintf(resp_string,&amp;quot;OK&amp;quot;)&lt;br /&gt;
RAM:00011A14                 B       exit            ; fixing stack&lt;br /&gt;
RAM:00011A16 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011A16&lt;br /&gt;
RAM:00011A16 status_error                            ; CODE XREF: new_handler+5A�j&lt;br /&gt;
RAM:00011A16                 LDR     R1, =ERROR&lt;br /&gt;
RAM:00011A18                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A1A                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A1C                 BLX     R3              ; sprintf(resp_string,&amp;quot;ERROR&amp;quot;)&lt;br /&gt;
RAM:00011A1E&lt;br /&gt;
RAM:00011A1E exit                                    ; CODE XREF: new_handler+64�j&lt;br /&gt;
RAM:00011A1E                 ADD     SP, SP, #0x2C   ; fixing stack&lt;br /&gt;
RAM:00011A20                 POP     {R4-R7,PC}      ; bye&lt;br /&gt;
RAM:00011A20 ; End of function new_handler&lt;br /&gt;
RAM:00011A20&lt;br /&gt;
RAM:00011A20 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011A64 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011A64&lt;br /&gt;
RAM:00011A64 task_loop                               ; DATA XREF: RAM:off_11A2C�o&lt;br /&gt;
RAM:00011A64                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:00011A66                 LDR     R5, =0x40232754 ; sec mailbox&lt;br /&gt;
RAM:00011A68                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011A6A&lt;br /&gt;
RAM:00011A6A loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011A6A                 LDR     R3, =0x20165998 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011A6C                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011A6E                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011A70                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:00011A72                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:00011A74                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:00011A76                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011A78                 BNE     skip            ; &lt;br /&gt;
RAM:00011A7A                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011A7C                 LDR     R3, =0x402F79BC&lt;br /&gt;
RAM:00011A7E                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011A80                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:00011A82                 ADDS    R3, #4          ; 0x402F79C0&lt;br /&gt;
RAM:00011A84                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:00011A86                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011A88                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011A8A                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011A8C                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011A8E                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011A90                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:00011A92                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:00011A94                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:00011A96                 MOVS    R3, #1&lt;br /&gt;
RAM:00011A98                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011A9A                 MOVS    R3, #0x20       &lt;br /&gt;
RAM:00011A9C                 STR     R3, [SP]        ; Message[0] = 0x20&lt;br /&gt;
RAM:00011A9E&lt;br /&gt;
RAM:00011A9E skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011A9E                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011AA0                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011AA2                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:00011AA4                 LDR     R3, =0x203ED568&lt;br /&gt;
RAM:00011AA6                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011AA8                 B       loop            ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011AA8 ; End of function task_loop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Planetbeing explains...===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13:24:29  &amp;lt;crash-x_&amp;gt; especially how does ultra/yellow sn0w work&lt;br /&gt;
13:24:40  &amp;lt;crash-x_&amp;gt; are you overwriting instructions&lt;br /&gt;
13:24:48  &amp;lt;crash-x_&amp;gt; or some values in memory to make it accept the sim?&lt;br /&gt;
13:24:48  &amp;lt;planetbeing&amp;gt; Nah.&lt;br /&gt;
13:24:53  &amp;lt;planetbeing&amp;gt; It's a task.&lt;br /&gt;
13:25:06  &amp;lt;planetbeing&amp;gt; That just waits for securiy messages to go through the inbox.&lt;br /&gt;
13:25:13  &amp;lt;westbaer&amp;gt; planetbeing: btw, why isnt yellowsn0w/ultrasn0w not open-source anymore? like u posted an *oooold* version once&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
13:26:33  &amp;lt;planetbeing&amp;gt; The only thing I do for ys/us is the loader bit.&lt;br /&gt;
13:26:39  &amp;lt;westbaer&amp;gt; so whats actually the loader stuff you've been talking about?&lt;br /&gt;
13:26:46  &amp;lt;planetbeing&amp;gt; That uses the exploit to start MuscleNerd's payload.&lt;br /&gt;
13:27:21  &amp;lt;westbaer&amp;gt; ah&lt;br /&gt;
13:27:26  &amp;lt;planetbeing&amp;gt; Well, you have a vulnerability.&lt;br /&gt;
13:27:30  &amp;lt;planetbeing&amp;gt; And you want to load a large chunk of code.&lt;br /&gt;
13:27:39  &amp;lt;planetbeing&amp;gt; And you don't have much room to wriggle in for your overflow&lt;br /&gt;
13:28:21  &amp;lt;westbaer&amp;gt; aah, makes sense&lt;br /&gt;
13:28:50  &amp;lt;planetbeing&amp;gt; So the solution is a small loader that loads the rest of the code, and overcomes any restrictions there are on allowable characters.&lt;br /&gt;
13:28:55  &amp;lt;ashikase&amp;gt; francis: pm&lt;br /&gt;
13:28:59  &amp;lt;westbaer&amp;gt; yeah&lt;br /&gt;
13:29:10  &amp;lt;crash-x_&amp;gt; planetbeing: the baseband is it like one process that runs there&lt;br /&gt;
13:29:19  &amp;lt;crash-x_&amp;gt; or is it like a small os with process and stuff&lt;br /&gt;
13:29:19  &amp;lt;planetbeing&amp;gt; Basically a good loader should turn a vulnerability into a reliable platform for the execution of arbitrary code, unrestricted by vulnerability-specific stuff.&lt;br /&gt;
13:29:37  &amp;lt;planetbeing&amp;gt; Oh, it's a full-featured OS.&lt;br /&gt;
13:29:38  &amp;lt;planetbeing&amp;gt; Nucleus.&lt;br /&gt;
13:29:51  &amp;lt;planetbeing&amp;gt; http://www.mentor.com/products/embedded_software/nucleus_rtos/&lt;br /&gt;
13:29:54  &amp;lt;crash-x_&amp;gt; and when you execute an at command&lt;br /&gt;
13:30:06  &amp;lt;crash-x_&amp;gt; does that start another process that is crashed then&lt;br /&gt;
13:30:21  &amp;lt;planetbeing&amp;gt; Ideally, you don't crash anything.&lt;br /&gt;
13:30:21  &amp;lt;crash-x_&amp;gt; or does it crash like the main baseband program&lt;br /&gt;
13:30:23  &amp;lt;planetbeing&amp;gt; And we don't.&lt;br /&gt;
13:30:49  &amp;lt;crash-x_&amp;gt; so am i understand it right&lt;br /&gt;
13:30:50  &amp;lt;westbaer&amp;gt; wait. is nucleus on the baseband already installed or do you actually inject it with ultrasn0w?&lt;br /&gt;
13:30:51  &amp;lt;planetbeing&amp;gt; We load a bunch of code into certain memory locations, execute them, and then return safely back to the main command parser task.&lt;br /&gt;
13:31:00  &amp;lt;planetbeing&amp;gt; Nucleus is what the baseband runs.&lt;br /&gt;
13:31:04  &amp;lt;westbaer&amp;gt; ah ok&lt;br /&gt;
13:31:29  &amp;lt;planetbeing&amp;gt; I mean, even the bootrom is an OS.&lt;br /&gt;
13:31:36  &amp;lt;planetbeing&amp;gt; With one task, but it still has a scheduler. =P&lt;br /&gt;
13:31:39  &amp;lt;crash-x_&amp;gt; ah thats how you do it&lt;br /&gt;
13:31:42  &amp;lt;westbaer&amp;gt; heh&lt;br /&gt;
13:31:44  &amp;lt;crash-x_&amp;gt; and about your payload&lt;br /&gt;
13:31:57  &amp;lt;crash-x_&amp;gt; does it start a new process like using fork() &lt;br /&gt;
13:32:03  &amp;lt;crash-x_&amp;gt; or does it all the work in the exploited process&lt;br /&gt;
13:32:11  &amp;lt;planetbeing&amp;gt; It uses Nucleus-specific calls that create the new task.&lt;br /&gt;
13:32:19  &amp;lt;planetbeing&amp;gt; Well, the payload has to create a new task&lt;br /&gt;
13:32:22  &amp;lt;westbaer&amp;gt; I think they are documented on the wiki&lt;br /&gt;
13:32:25  &amp;lt;planetbeing&amp;gt; To monitor for certain events.&lt;br /&gt;
13:32:47  &amp;lt;planetbeing&amp;gt; Yeah, just read Darkmen's decompile.&lt;br /&gt;
13:33:00  &amp;lt;planetbeing&amp;gt; us has the exact same payload as ys&lt;br /&gt;
13:33:08  &amp;lt;planetbeing&amp;gt; Just different addresses for function calls and stuff.&lt;br /&gt;
13:33:19  &amp;lt;planetbeing&amp;gt; And I had to rewrite the loader due to even tighter constraints.&lt;br /&gt;
13:33:28  &amp;lt;crash-x_&amp;gt; thats cool, thanks for explaining&lt;br /&gt;
13:33:34  &amp;lt;westbaer&amp;gt; yup, thanks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From irc.saurik.com #iphone on sunday the 5th of july.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
The source code for yellowsn0w 0.9.1 (old version) was released along with yellowsn0w release. [http://xs1.iphwn.org/releases/yellowsn0w.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[X-Gold 608 Unlock]]&lt;br /&gt;
* [[X-Gold 608]]&lt;br /&gt;
* [[Baseband Device]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://chronic-dev.org/blog/2008/12/props/ Chronic Dev's post about Yellowsn0w]&lt;br /&gt;
* [http://blog.iphone-dev.org/post/65126957/tis-the-season-to-be-jolly Yellowsn0w Announcement]&lt;br /&gt;
* [http://qik.com/video/729275 MuscleNerd's yellowsn0w Demo]&lt;br /&gt;
* [http://www.youtube.com/watch?v=kd5vOy2m5uY MuscleNerd's ultrasn0w demo]&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13724</id>
		<title>Ultrasn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Ultrasn0w&amp;diff=13724"/>
		<updated>2010-11-28T22:18:14Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Injection Vectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ultrasn0w (previously: yellowsn0w) is an [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[N90ap|iPhone 4]] [[Unlock 2.0|unlock]] payload. yellowsn0w was released on 01/01/09 [http://blog.iphone-dev.org/post/67797811]. ultrasn0w was released on June 23th 2009 [http://blog.iphone-dev.org/post/128573459/ultras-now].&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
[[MuscleNerd]], and [[iPhone Dev Team]]&lt;br /&gt;
&lt;br /&gt;
==Exploit==&lt;br /&gt;
Relies on an unsigned code injection vulnerability.&lt;br /&gt;
&lt;br /&gt;
The actual unlock works by a daemon patching the baseband's RAM on-the-fly, overriding the carrier lock code. It is not permanent because of the signature checks - the bootloader has to pass the sigchecks and the baseband has to pass them too, so any change to the baseband/bootloader cannot be made.&lt;br /&gt;
&lt;br /&gt;
==Injection Vectors==&lt;br /&gt;
* [[AT+stkprof Exploit]] - used by yellowsn0w to unlock [[X-Gold 608]] baseband [[2.28.00]].&lt;br /&gt;
* [[AT+XLOG Vulnerability]] - used by ultrasn0w to unlock [[X-Gold 608]] baseband [[4.26.08]].&lt;br /&gt;
* [[AT+XAPP Vulnerability]] - used by ultrasn0w 0.93 to unlock public releases of [[X-Gold 608]] basebands [[4.26.08]] through [[5.13.04]] and [[06.15.00]], and [[XMM 6180]] baseband [[1.59.00]])&lt;br /&gt;
&lt;br /&gt;
==ultrasn0w payload with comments (by [[User:Oranav|Oranav]])==&lt;br /&gt;
&lt;br /&gt;
===Code loader (incl. Stage2)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 code_loader&lt;br /&gt;
ROM:00000000 dest_addr = R1&lt;br /&gt;
ROM:00000000 src_addr = R6&lt;br /&gt;
ROM:00000000                 MOVLS   dest_addr, 0x110&lt;br /&gt;
ROM:00000004                 ADDS    dest_addr, #6&lt;br /&gt;
ROM:00000006                 LSLS    dest_addr, dest_addr, #8 ; unused ram to place code = 0x11600&lt;br /&gt;
ROM:00000008                 ADDS    R2, dest_addr, #1 ; thumbing&lt;br /&gt;
ROM:0000000A&lt;br /&gt;
ROM:0000000A loop                                    ; CODE XREF: code_loader+24�j&lt;br /&gt;
ROM:0000000A                 MOVLS   R0, 0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000E                 LDRB    R3, [src_addr]  ; first nibble&lt;br /&gt;
ROM:00000010                 CMP     R0, R3&lt;br /&gt;
ROM:00000012                 LDRB    R0, [src_addr,#1] ; second nibble&lt;br /&gt;
ROM:00000014                 BEQ     run             ; branch if end of string&lt;br /&gt;
ROM:00000016                 SUBS    R3, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:00000018                 SUBS    R0, #0x41       ; subtract 'A'&lt;br /&gt;
ROM:0000001A                 LSLS    R3, R3, #4      ; make room for next nibble&lt;br /&gt;
ROM:0000001C                 ADDS    R3, R3, R0      ; put them together as a byte&lt;br /&gt;
ROM:0000001E                 STRB    R3, [dest_addr]&lt;br /&gt;
ROM:00000020                 ADDS    dest_addr, #1&lt;br /&gt;
ROM:00000022                 ADDS    src_addr, #2&lt;br /&gt;
ROM:00000024                 B       loop&lt;br /&gt;
ROM:00000026 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:00000026&lt;br /&gt;
ROM:00000026 run                                     ; CODE XREF: code_loader+14�j&lt;br /&gt;
ROM:00000026                 BLX     R2              ; handler_replace()&lt;br /&gt;
ROM:00000028                 MOVLS   R0, 0           ; safe exit&lt;br /&gt;
ROM:0000002C                 ADDS    dest_addr, R0, #0&lt;br /&gt;
ROM:0000002E                 BLX     R4&lt;br /&gt;
ROM:00000030                 MOV     SP, R5&lt;br /&gt;
ROM:00000032                 POP     {R0-src_addr,PC}&lt;br /&gt;
ROM:00000032 ; End of function code_loader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Handler replace===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011600 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600&lt;br /&gt;
RAM:00011600 handler_replace&lt;br /&gt;
RAM:00011600                 PUSH    {LR}&lt;br /&gt;
RAM:00011602                 LDR     R0, =0x40492FC0 ; where to save task_loop_jmp + task_loop&lt;br /&gt;
RAM:00011604                 ADR     R1, task_loop_jmp&lt;br /&gt;
RAM:00011606                 ADR     R2, task_loop_end&lt;br /&gt;
RAM:00011608                 SUBS    R2, R2, R1      ; size of task_loop + task_loop_jmp = 0x70&lt;br /&gt;
RAM:0001160A                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:0001160C                 BLX     R3&lt;br /&gt;
RAM:0001160E                 LDR     R0, =0x40492C20 ; where to save task_creator_jmp + task_creator&lt;br /&gt;
RAM:00011610                 ADR     R1, task_creator_jmp&lt;br /&gt;
RAM:00011612                 ADR     R2, task_creator_end&lt;br /&gt;
RAM:00011614                 SUBS    R2, R2, R1      ; size of task_creator + task_creator_jmp = 0xA0&lt;br /&gt;
RAM:00011616                 LDR     R3, =0x2040882C ; memcpy()&lt;br /&gt;
RAM:00011618                 BLX     R3&lt;br /&gt;
RAM:0001161A                 LDR     R0, =0x40492C20&lt;br /&gt;
RAM:0001161C                 BLX     R0              ; task_creator_jmp()&lt;br /&gt;
RAM:0001161E                 POP     {PC}&lt;br /&gt;
RAM:0001161E ; End of function handler_replace&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:40492C20 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20&lt;br /&gt;
RAM:40492C20 task_creator_jmp&lt;br /&gt;
RAM:40492C20                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:40492C24                 BLX     task_creator&lt;br /&gt;
RAM:40492C28                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:40492C28 ; End of function task_creator_jmp&lt;br /&gt;
RAM:40492C28&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C&lt;br /&gt;
RAM:40492C2C task_creator                            ; CODE XREF: task_creator_jmp+4�p&lt;br /&gt;
RAM:40492C2C                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:40492C2E                 LDR     R3, =0x401ED3B8 ; jumptable var&lt;br /&gt;
RAM:40492C30                 MOVLS   R4, 0x800&lt;br /&gt;
RAM:40492C34                 SUB     SP, SP, #0x24&lt;br /&gt;
RAM:40492C36                 STRH    R0, [R3]        ; task_creator_jmp addr&lt;br /&gt;
RAM:40492C38                 LDR     R5, =0x201493F0 ; malloc&lt;br /&gt;
RAM:40492C3A                 ADDS    R0, R4, #0      ; 0x800&lt;br /&gt;
RAM:40492C3C                 ADDS    R7, R1, #0      ; R7 = resp_string&lt;br /&gt;
RAM:40492C3E                 BLX     R5              ; malloc(0x800)&lt;br /&gt;
RAM:40492C40                 ADDS    R6, R0, #0      ; R6 = addr returned from malloc&lt;br /&gt;
RAM:40492C42                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:40492C44                 BLX     R5              ; malloc(sizeof(NU_TASK))&lt;br /&gt;
RAM:40492C46                 MOVS    R2, #0&lt;br /&gt;
RAM:40492C48                 MOVS    R3, #0x44&lt;br /&gt;
RAM:40492C4A                 LDR     R1, =aDevteam1  ; char *name&lt;br /&gt;
RAM:40492C4C                 STR     R2, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:40492C4E                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:40492C50                 MOVS    R3, #0xA&lt;br /&gt;
RAM:40492C52                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:40492C54                 MOVS    R3, #0xC&lt;br /&gt;
RAM:40492C56                 STR     R2, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:40492C58                 STR     R4, [SP,#8]     ; stack_size = 0x800&lt;br /&gt;
RAM:40492C5A                 STR     R2, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:40492C5C                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:40492C5E                 LDR     R2, =0x40492FC0 ; task_loop_jmp address&lt;br /&gt;
RAM:40492C60                 STR     R6, [SP,#4]     ; void *stack_address = malloc(0x800)&lt;br /&gt;
RAM:40492C62                 MOVS    R3, #0&lt;br /&gt;
RAM:40492C64                 LDR     R4, =0x2043E5B4 ; NU_Create_Task&lt;br /&gt;
RAM:40492C66                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:40492C68                 ADDS    R2, R0, #0      ; R2 = status (for the %d reference in sprintf)&lt;br /&gt;
RAM:40492C6A                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:40492C6C                 BNE     status_error&lt;br /&gt;
RAM:40492C6E                 LDR     R1, =aOk        ; &amp;quot;OK!&amp;quot;&lt;br /&gt;
RAM:40492C70                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C72                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C74                 BLX     R3              ; sprintf(resp_string, &amp;quot;OK!&amp;quot;)&lt;br /&gt;
RAM:40492C76                 B       exit&lt;br /&gt;
RAM:40492C78 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:40492C78&lt;br /&gt;
RAM:40492C78 status_error                            ; CODE XREF: task_creator+40�j&lt;br /&gt;
RAM:40492C78                 LDR     R1, =aErrorD    ; &amp;quot;ERROR %d&amp;quot;&lt;br /&gt;
RAM:40492C7A                 ADDS    R0, R7, #0      ; resp_string&lt;br /&gt;
RAM:40492C7C                 LDR     R3, =0x204B11F0 ; sprintf&lt;br /&gt;
RAM:40492C7E                 BLX     R3              ; sprintf(resp_string, &amp;quot;ERROR %d&amp;quot;, status)&lt;br /&gt;
RAM:40492C80&lt;br /&gt;
RAM:40492C80 exit                                    ; CODE XREF: task_creator+4A�j&lt;br /&gt;
RAM:40492C80                 ADD     SP, SP, #0x24   ; fixing stack&lt;br /&gt;
RAM:40492C82                 POP     {R4-R7,PC}&lt;br /&gt;
RAM:40492C82 ; End of function task_creator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop (thanks Darkmen for the comments!)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011630 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630&lt;br /&gt;
RAM:00011630 task_loop_jmp&lt;br /&gt;
RAM:00011630                 STMFD   SP!, {R1-R12,LR}&lt;br /&gt;
RAM:00011634                 BLX     task_loop&lt;br /&gt;
RAM:00011634 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011638                 LDMFD   SP!, {R1-R12,PC}&lt;br /&gt;
RAM:00011638 ; End of function task_loop_jmp&lt;br /&gt;
RAM:00011638&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C&lt;br /&gt;
RAM:0001163C task_loop&lt;br /&gt;
RAM:0001163C                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:0001163E                 LDR     R5, =0x401E829C ; sec mailbox&lt;br /&gt;
RAM:00011640                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011642&lt;br /&gt;
RAM:00011642 loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011642                 LDR     R3, =0x2042FFD8 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011644                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011646                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011648                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:0001164A                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:0001164C                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:0001164E                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011650                 BNE     skip&lt;br /&gt;
RAM:00011652                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011654                 LDR     R3, =0x40301650&lt;br /&gt;
RAM:00011656                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011658                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:0001165A                 ADDS    R3, #4          ; 0x40301654&lt;br /&gt;
RAM:0001165C                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:0001165E                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011660                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011662                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011664                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011666                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011668                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:0001166A                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:0001166C                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:0001166E                 MOVS    R3, #1&lt;br /&gt;
RAM:00011670                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011672                 MOVS    R3, #0x20 ; ' '&lt;br /&gt;
RAM:00011674                 STR     R3, [SP] ; Message[0] = 0x20&lt;br /&gt;
RAM:00011676&lt;br /&gt;
RAM:00011676 skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011676                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011678                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:0001167A                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:0001167C                 LDR     R3, =0x20430040&lt;br /&gt;
RAM:0001167E                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011680                 B       loop&lt;br /&gt;
RAM:00011680 ; End of function task_loop&lt;br /&gt;
RAM:00011680&lt;br /&gt;
RAM:00011680 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Old yellowsn0w payload w/ comments (by Darkmen) ==&lt;br /&gt;
&lt;br /&gt;
The exploit consists from 4 parts:&lt;br /&gt;
&lt;br /&gt;
===Code loader===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000&lt;br /&gt;
ROM:00000000 loader&lt;br /&gt;
ROM:00000000                 LDR     R2, =0x11700    ; unused ram to place code&lt;br /&gt;
ROM:00000002                 ADDS    R4, R2, #1      ; thumb switch&lt;br /&gt;
ROM:00000004                 LDR     R3, =0x40159FBF ; at-handler buffer where stage2 binary and following hexdata are&lt;br /&gt;
ROM:00000006&lt;br /&gt;
ROM:00000006 copy.loop                               ; CODE XREF: loader+12�j&lt;br /&gt;
ROM:00000006                 LDRB    R0, [R3]        ; copying code+data until double quotes&lt;br /&gt;
ROM:00000008                 CMP     R0, #0x22 ; '&amp;quot;'&lt;br /&gt;
ROM:0000000A                 BEQ     run             ; jump thumb code&lt;br /&gt;
ROM:0000000C                 STRB    R0, [R2]&lt;br /&gt;
ROM:0000000E                 ADDS    R2, #1&lt;br /&gt;
ROM:00000010                 ADDS    R3, #1&lt;br /&gt;
ROM:00000012                 B       copy.loop       ; &lt;br /&gt;
ROM:00000014 run                                     ; CODE XREF: loader+A�j&lt;br /&gt;
ROM:00000014                 BX      R4              ; jump stage2 code&lt;br /&gt;
ROM:00000014 ; End of function loader&lt;br /&gt;
ROM:00000014&lt;br /&gt;
ROM:00000014 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stage2(tm)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00000000 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000000 stage2&lt;br /&gt;
RAM:00000000                 ADDS    R2, #0x10       ; R2 = 0x11700 + stage2 size&lt;br /&gt;
RAM:00000002                 MOVS    R7, #0xF&lt;br /&gt;
RAM:00000004                 BICS    R2, R7          ; align offset by 0x10&lt;br /&gt;
RAM:00000006                 ADDS    R7, R2, #0      ; saving address to jump&lt;br /&gt;
RAM:00000008                 ADR     R4, 0x44        ; skipping Stage2 size and taking first char from at-string&lt;br /&gt;
RAM:0000000A                 ADR     R5, char2byte   ; loading routine addr&lt;br /&gt;
RAM:0000000C                 ADDS    R5, #1          ; thumb&lt;br /&gt;
RAM:0000000E&lt;br /&gt;
RAM:0000000E loop                                    ; CODE XREF: stage2+2C�j&lt;br /&gt;
RAM:0000000E                 LDRB    R1, [R4]        ; at-string[index]&lt;br /&gt;
RAM:00000010                 CMP     R1, #'x'        ; end of line?&lt;br /&gt;
RAM:00000012                 BEQ     jump_code&lt;br /&gt;
RAM:00000014                 BLX     R5              ; char2byte first hakfbyte&lt;br /&gt;
RAM:00000016                 LSLS    R3, R1, #4      ; &amp;lt;&amp;lt;4 0X becoming X0&lt;br /&gt;
RAM:00000018                 LDRB    R1, [R4,#1]     ; at-string[index+1]&lt;br /&gt;
RAM:0000001A                 BLX     R5              ; char2hex second halfbyte&lt;br /&gt;
RAM:0000001C                 NOP&lt;br /&gt;
RAM:0000001E                 NOP&lt;br /&gt;
RAM:00000020                 NOP&lt;br /&gt;
RAM:00000022                 NOP&lt;br /&gt;
RAM:00000024                 ADDS    R1, R1, R3      ; R1 = complete byte&lt;br /&gt;
RAM:00000026                 STRB    R1, [R2]        ; storing byte to dst&lt;br /&gt;
RAM:00000028                 ADDS    R4, #2          ; hexstr_index+=2&lt;br /&gt;
RAM:0000002A                 ADDS    R2, #1          ; dst++&lt;br /&gt;
RAM:0000002C                 B       loop            ; at-string[index]&lt;br /&gt;
RAM:0000002E jump_code&lt;br /&gt;
RAM:0000002E                 NOP&lt;br /&gt;
RAM:00000030                 NOP&lt;br /&gt;
RAM:00000032                 ADDS    R7, #1          ; thumbing&lt;br /&gt;
RAM:00000034                 BX      R7              ; run Task creator code&lt;br /&gt;
RAM:00000034 ; End of function stage2&lt;br /&gt;
RAM:00000038&lt;br /&gt;
RAM:00000038 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00000038 char2byte                               ; DATA XREF: stage2+A�o&lt;br /&gt;
RAM:00000038                 CMP     R1, #0x41 ; 'A'&lt;br /&gt;
RAM:0000003A                 BGE     letter          ; letter to number&lt;br /&gt;
RAM:0000003C                 SUBS    R1, #0x30 ; '0' ; digit to number&lt;br /&gt;
RAM:0000003E                 BX      LR&lt;br /&gt;
RAM:00000040 letter                                  ; CODE XREF: char2byte+2�j&lt;br /&gt;
RAM:00000040                 SUBS    R1, #0x37 ; '7' ; letter to number&lt;br /&gt;
RAM:00000042                 BX      LR              ; ret&lt;br /&gt;
RAM:00000042 ; End of function char2byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task creator===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:000119A0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0&lt;br /&gt;
RAM:000119A0 handler_replace&lt;br /&gt;
RAM:000119A0                 LDR     R0, =0x4011714C ; soft reset handler addr&lt;br /&gt;
RAM:000119A2                 ADR     R1, new_handler&lt;br /&gt;
RAM:000119A4                 ADDS    R1, #1          ; thumbing&lt;br /&gt;
RAM:000119A6                 STR     R1, [R0]        ; setting new handler&lt;br /&gt;
RAM:000119A8                 POP     {R0-R4,PC}      ; safe exit fixing stack&lt;br /&gt;
RAM:000119A8 ; End of function handler_replace&lt;br /&gt;
&lt;br /&gt;
RAM:000119B0 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0&lt;br /&gt;
RAM:000119B0 new_handler                             ; DATA XREF: handler_replace+2�o&lt;br /&gt;
RAM:000119B0                 PUSH    {R4-R7,LR}&lt;br /&gt;
RAM:000119B2                 LDR     R3, =0x403BB344 ; jamptable var&lt;br /&gt;
RAM:000119B4                 MOVS    R6, #0x80&lt;br /&gt;
RAM:000119B6                 SUB     SP, SP, #0x2C&lt;br /&gt;
RAM:000119B8                 LSLS    R6, R6, #4      ; 0x200&lt;br /&gt;
RAM:000119BA                 STRH    R0, [R3]        ; saving R0 to mem var&lt;br /&gt;
RAM:000119BC                 STR     R1, [SP,#0x40+resp_string] ; saving responce prt to stack&lt;br /&gt;
RAM:000119BE                 LDR     R4, =0x201420AC ; malloc&lt;br /&gt;
RAM:000119C0                 ADDS    R0, R6, #0&lt;br /&gt;
RAM:000119C2                 BLX     R4              ; malloc(0x200)&lt;br /&gt;
RAM:000119C4                 MOVS    R5, #0&lt;br /&gt;
RAM:000119C6                 STR     R0, [SP,#0x40+ptr_200] ; saving pointer to stack&lt;br /&gt;
RAM:000119C8                 MOVS    R0, #0x98       ; sizeof(NU_TASK)&lt;br /&gt;
RAM:000119CA                 BLX     R4              ; malloc(0x98)&lt;br /&gt;
RAM:000119CC                 ADDS    R7, R0, #0      ; R7 = task&lt;br /&gt;
RAM:000119CE                 STR     R5, [R0,#0xC]   ; task.field=0&lt;br /&gt;
RAM:000119D0                 MOVS    R0, 0x100&lt;br /&gt;
RAM:000119D4                 BLX     R4              ; malloc(0x100)&lt;br /&gt;
RAM:000119D6                 MOVS    R2, #0x80&lt;br /&gt;
RAM:000119D8                 LDR     R1, =task_loop  ; src&lt;br /&gt;
RAM:000119DA                 LSLS    R2, R2, #1      ; size to copy&lt;br /&gt;
RAM:000119DC                 LDR     R3, =0x203C58A0 ; bytecpy&lt;br /&gt;
RAM:000119DE                 ADDS    R4, R0, #0      ; R4 = dyn_task_loop&lt;br /&gt;
RAM:000119E0                 BLX     R3              ; bytecpy(task_loop, dyn_task_loop, 0x100)&lt;br /&gt;
RAM:000119E2                 LDR     R3, [SP,#0x40+ptr_200]&lt;br /&gt;
RAM:000119E4                 STR     R3, [SP,#4]     ; void *stack_address = malloc(0x200)&lt;br /&gt;
RAM:000119E6                 MOVS    R3, #0x44&lt;br /&gt;
RAM:000119E8                 STR     R3, [SP,#0xC]   ; priority = 0x44&lt;br /&gt;
RAM:000119EA                 MOVS    R3, #0xA&lt;br /&gt;
RAM:000119EC                 ADDS    R4, #1          ; thumbing dyn_task_loop&lt;br /&gt;
RAM:000119EE                 STR     R3, [SP,#0x14]  ; preempt = NU_PREEMPT&lt;br /&gt;
RAM:000119F0                 MOVS    R3, #0xC&lt;br /&gt;
RAM:000119F2                 ADDS    R2, R4, #0      ; void(*task_entry)&lt;br /&gt;
RAM:000119F4                 STR     R3, [SP,#0x18]  ; auto_start = NU_START&lt;br /&gt;
RAM:000119F6                 LDR     R1, =devteam1   ; char *name&lt;br /&gt;
RAM:000119F8                 STR     R5, [SP]        ; void *argv = 0&lt;br /&gt;
RAM:000119FA                 STR     R6, [SP,#8]     ; stack_size = 0x200&lt;br /&gt;
RAM:000119FC                 STR     R5, [SP,#0x10]  ; time_slice = 0&lt;br /&gt;
RAM:000119FE                 ADDS    R0, R7, #0      ; NU_TASK *task&lt;br /&gt;
RAM:00011A00                 MOVS    R3, #0          ; int argc = 0&lt;br /&gt;
RAM:00011A02                 LDR     R4, =0x203FB540 ; NU_Create_Task&lt;br /&gt;
RAM:00011A04                 BLX     R4              ; status = NU_Create_Task()&lt;br /&gt;
RAM:00011A06                 ADDS    R2, R0, #0&lt;br /&gt;
RAM:00011A08                 CMP     R0, #0          ; success = zero&lt;br /&gt;
RAM:00011A0A                 BNE     status_error&lt;br /&gt;
RAM:00011A0C                 LDR     R1, =OK&lt;br /&gt;
RAM:00011A0E                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A10                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A12                 BLX     R3              ; sprintf(resp_string,&amp;quot;OK&amp;quot;)&lt;br /&gt;
RAM:00011A14                 B       exit            ; fixing stack&lt;br /&gt;
RAM:00011A16 ; ---------------------------------------------------------------------------&lt;br /&gt;
RAM:00011A16&lt;br /&gt;
RAM:00011A16 status_error                            ; CODE XREF: new_handler+5A�j&lt;br /&gt;
RAM:00011A16                 LDR     R1, =ERROR&lt;br /&gt;
RAM:00011A18                 LDR     R0, [SP,#0x40+resp_string]&lt;br /&gt;
RAM:00011A1A                 LDR     R3, =0x2046DD00 ; sprintf&lt;br /&gt;
RAM:00011A1C                 BLX     R3              ; sprintf(resp_string,&amp;quot;ERROR&amp;quot;)&lt;br /&gt;
RAM:00011A1E&lt;br /&gt;
RAM:00011A1E exit                                    ; CODE XREF: new_handler+64�j&lt;br /&gt;
RAM:00011A1E                 ADD     SP, SP, #0x2C   ; fixing stack&lt;br /&gt;
RAM:00011A20                 POP     {R4-R7,PC}      ; bye&lt;br /&gt;
RAM:00011A20 ; End of function new_handler&lt;br /&gt;
RAM:00011A20&lt;br /&gt;
RAM:00011A20 ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Unlock task loop===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM:00011A64 ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
RAM:00011A64&lt;br /&gt;
RAM:00011A64 task_loop                               ; DATA XREF: RAM:off_11A2C�o&lt;br /&gt;
RAM:00011A64                 PUSH    {R4,R5,LR}&lt;br /&gt;
RAM:00011A66                 LDR     R5, =0x40232754 ; sec mailbox&lt;br /&gt;
RAM:00011A68                 SUB     SP, SP, #0x14&lt;br /&gt;
RAM:00011A6A&lt;br /&gt;
RAM:00011A6A loop                                    ; CODE XREF: task_loop+44�j&lt;br /&gt;
RAM:00011A6A                 LDR     R3, =0x20165998 ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011A6C                 ADDS    R0, R5, #0      ; NU_MAILBOX *mailbox&lt;br /&gt;
RAM:00011A6E                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011A70                 MOVS    R2, #0xFF       ; Timeout&lt;br /&gt;
RAM:00011A72                 BLX     R3              ; NU_Receive_From_Mailbox(sec_mailbox,SP,0xFF)&lt;br /&gt;
RAM:00011A74                 LDR     R3, [SP]        ; Message[0]&lt;br /&gt;
RAM:00011A76                 CMP     R3, #0xD        ; Message[0] = 0xD ?&lt;br /&gt;
RAM:00011A78                 BNE     skip            ; &lt;br /&gt;
RAM:00011A7A                 LDR     R1, [SP,#4]     ; Message[1]&lt;br /&gt;
RAM:00011A7C                 LDR     R3, =0x402F79BC&lt;br /&gt;
RAM:00011A7E                 LDR     R2, [R1]        ; Message[1].field0&lt;br /&gt;
RAM:00011A80                 STR     R2, [R3]        ; sec_task_var1 = Message[1].field0&lt;br /&gt;
RAM:00011A82                 ADDS    R3, #4          ; 0x402F79C0&lt;br /&gt;
RAM:00011A84                 LDR     R2, [R1,#4]     ; Message[1].field1&lt;br /&gt;
RAM:00011A86                 STR     R2, [R3]        ; sec_task_var2 = Message[1].field1&lt;br /&gt;
RAM:00011A88                 LDR     R2, [R1,#8]     ; Message[1].field2&lt;br /&gt;
RAM:00011A8A                 LDR     R3, =0x100FF00&lt;br /&gt;
RAM:00011A8C                 STR     R3, [R2]        ; Message[1].field2[0] = 0x100FF00&lt;br /&gt;
RAM:00011A8E                 LDR     R3, =0x4020401&lt;br /&gt;
RAM:00011A90                 STR     R3, [R2,#4]     ; Message[1].field2[1] = 0x4020401&lt;br /&gt;
RAM:00011A92                 LDR     R3, =0x4040403&lt;br /&gt;
RAM:00011A94                 STR     R3, [R2,#8]     ; Message[1].field2[2] = 0x4040403&lt;br /&gt;
RAM:00011A96                 MOVS    R3, #1&lt;br /&gt;
RAM:00011A98                 STR     R3, [R1,#0xC]   ; Message[1].field3 = 1&lt;br /&gt;
RAM:00011A9A                 MOVS    R3, #0x20       &lt;br /&gt;
RAM:00011A9C                 STR     R3, [SP]        ; Message[0] = 0x20&lt;br /&gt;
RAM:00011A9E&lt;br /&gt;
RAM:00011A9E skip                                    ; CODE XREF: task_loop+14�j&lt;br /&gt;
RAM:00011A9E                 ADDS    R0, R5, #0      ; sec mailbox&lt;br /&gt;
RAM:00011AA0                 MOV     R1, SP          ; void *Message&lt;br /&gt;
RAM:00011AA2                 MOVS    R2, #0xFF       ; timeout&lt;br /&gt;
RAM:00011AA4                 LDR     R3, =0x203ED568&lt;br /&gt;
RAM:00011AA6                 BLX     R3              ; NU_Send_To_Mailbox()&lt;br /&gt;
RAM:00011AA8                 B       loop            ; NU_Receive_From_Mailbox&lt;br /&gt;
RAM:00011AA8 ; End of function task_loop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Planetbeing explains...===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13:24:29  &amp;lt;crash-x_&amp;gt; especially how does ultra/yellow sn0w work&lt;br /&gt;
13:24:40  &amp;lt;crash-x_&amp;gt; are you overwriting instructions&lt;br /&gt;
13:24:48  &amp;lt;crash-x_&amp;gt; or some values in memory to make it accept the sim?&lt;br /&gt;
13:24:48  &amp;lt;planetbeing&amp;gt; Nah.&lt;br /&gt;
13:24:53  &amp;lt;planetbeing&amp;gt; It's a task.&lt;br /&gt;
13:25:06  &amp;lt;planetbeing&amp;gt; That just waits for securiy messages to go through the inbox.&lt;br /&gt;
13:25:13  &amp;lt;westbaer&amp;gt; planetbeing: btw, why isnt yellowsn0w/ultrasn0w not open-source anymore? like u posted an *oooold* version once&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
13:26:33  &amp;lt;planetbeing&amp;gt; The only thing I do for ys/us is the loader bit.&lt;br /&gt;
13:26:39  &amp;lt;westbaer&amp;gt; so whats actually the loader stuff you've been talking about?&lt;br /&gt;
13:26:46  &amp;lt;planetbeing&amp;gt; That uses the exploit to start MuscleNerd's payload.&lt;br /&gt;
13:27:21  &amp;lt;westbaer&amp;gt; ah&lt;br /&gt;
13:27:26  &amp;lt;planetbeing&amp;gt; Well, you have a vulnerability.&lt;br /&gt;
13:27:30  &amp;lt;planetbeing&amp;gt; And you want to load a large chunk of code.&lt;br /&gt;
13:27:39  &amp;lt;planetbeing&amp;gt; And you don't have much room to wriggle in for your overflow&lt;br /&gt;
13:28:21  &amp;lt;westbaer&amp;gt; aah, makes sense&lt;br /&gt;
13:28:50  &amp;lt;planetbeing&amp;gt; So the solution is a small loader that loads the rest of the code, and overcomes any restrictions there are on allowable characters.&lt;br /&gt;
13:28:55  &amp;lt;ashikase&amp;gt; francis: pm&lt;br /&gt;
13:28:59  &amp;lt;westbaer&amp;gt; yeah&lt;br /&gt;
13:29:10  &amp;lt;crash-x_&amp;gt; planetbeing: the baseband is it like one process that runs there&lt;br /&gt;
13:29:19  &amp;lt;crash-x_&amp;gt; or is it like a small os with process and stuff&lt;br /&gt;
13:29:19  &amp;lt;planetbeing&amp;gt; Basically a good loader should turn a vulnerability into a reliable platform for the execution of arbitrary code, unrestricted by vulnerability-specific stuff.&lt;br /&gt;
13:29:37  &amp;lt;planetbeing&amp;gt; Oh, it's a full-featured OS.&lt;br /&gt;
13:29:38  &amp;lt;planetbeing&amp;gt; Nucleus.&lt;br /&gt;
13:29:51  &amp;lt;planetbeing&amp;gt; http://www.mentor.com/products/embedded_software/nucleus_rtos/&lt;br /&gt;
13:29:54  &amp;lt;crash-x_&amp;gt; and when you execute an at command&lt;br /&gt;
13:30:06  &amp;lt;crash-x_&amp;gt; does that start another process that is crashed then&lt;br /&gt;
13:30:21  &amp;lt;planetbeing&amp;gt; Ideally, you don't crash anything.&lt;br /&gt;
13:30:21  &amp;lt;crash-x_&amp;gt; or does it crash like the main baseband program&lt;br /&gt;
13:30:23  &amp;lt;planetbeing&amp;gt; And we don't.&lt;br /&gt;
13:30:49  &amp;lt;crash-x_&amp;gt; so am i understand it right&lt;br /&gt;
13:30:50  &amp;lt;westbaer&amp;gt; wait. is nucleus on the baseband already installed or do you actually inject it with ultrasn0w?&lt;br /&gt;
13:30:51  &amp;lt;planetbeing&amp;gt; We load a bunch of code into certain memory locations, execute them, and then return safely back to the main command parser task.&lt;br /&gt;
13:31:00  &amp;lt;planetbeing&amp;gt; Nucleus is what the baseband runs.&lt;br /&gt;
13:31:04  &amp;lt;westbaer&amp;gt; ah ok&lt;br /&gt;
13:31:29  &amp;lt;planetbeing&amp;gt; I mean, even the bootrom is an OS.&lt;br /&gt;
13:31:36  &amp;lt;planetbeing&amp;gt; With one task, but it still has a scheduler. =P&lt;br /&gt;
13:31:39  &amp;lt;crash-x_&amp;gt; ah thats how you do it&lt;br /&gt;
13:31:42  &amp;lt;westbaer&amp;gt; heh&lt;br /&gt;
13:31:44  &amp;lt;crash-x_&amp;gt; and about your payload&lt;br /&gt;
13:31:57  &amp;lt;crash-x_&amp;gt; does it start a new process like using fork() &lt;br /&gt;
13:32:03  &amp;lt;crash-x_&amp;gt; or does it all the work in the exploited process&lt;br /&gt;
13:32:11  &amp;lt;planetbeing&amp;gt; It uses Nucleus-specific calls that create the new task.&lt;br /&gt;
13:32:19  &amp;lt;planetbeing&amp;gt; Well, the payload has to create a new task&lt;br /&gt;
13:32:22  &amp;lt;westbaer&amp;gt; I think they are documented on the wiki&lt;br /&gt;
13:32:25  &amp;lt;planetbeing&amp;gt; To monitor for certain events.&lt;br /&gt;
13:32:47  &amp;lt;planetbeing&amp;gt; Yeah, just read Darkmen's decompile.&lt;br /&gt;
13:33:00  &amp;lt;planetbeing&amp;gt; us has the exact same payload as ys&lt;br /&gt;
13:33:08  &amp;lt;planetbeing&amp;gt; Just different addresses for function calls and stuff.&lt;br /&gt;
13:33:19  &amp;lt;planetbeing&amp;gt; And I had to rewrite the loader due to even tighter constraints.&lt;br /&gt;
13:33:28  &amp;lt;crash-x_&amp;gt; thats cool, thanks for explaining&lt;br /&gt;
13:33:34  &amp;lt;westbaer&amp;gt; yup, thanks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From irc.saurik.com #iphone on sunday the 5th of july.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
The source code for yellowsn0w 0.9.1 (old version) was released along with yellowsn0w release. [http://xs1.iphwn.org/releases/yellowsn0w.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[X-Gold 608 Unlock]]&lt;br /&gt;
* [[X-Gold 608]]&lt;br /&gt;
* [[Baseband Device]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://chronic-dev.org/blog/2008/12/props/ Chronic Dev's post about Yellowsn0w]&lt;br /&gt;
* [http://blog.iphone-dev.org/post/65126957/tis-the-season-to-be-jolly Yellowsn0w Announcement]&lt;br /&gt;
* [http://qik.com/video/729275 MuscleNerd's yellowsn0w Demo]&lt;br /&gt;
* [http://www.youtube.com/watch?v=kd5vOy2m5uY MuscleNerd's ultrasn0w demo]&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Firmware&amp;diff=13589</id>
		<title>Baseband Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Firmware&amp;diff=13589"/>
		<updated>2010-11-24T17:11:25Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main instruction set of the [[Baseband Device|baseband]]. You can get these files from /usr/local/standalone/firmware on the corresponding firmware's ramdisk.&lt;br /&gt;
&lt;br /&gt;
The baseband version that comes with each iPhone firmware is listed on the [[firmware]] page, and also on the [[X-Gold 608#Known_Firmware_Versions|X-Gold 608]] article for the [[N82ap|iPhone 3G]]/[[N88ap|3GS]].&lt;br /&gt;
&lt;br /&gt;
The EEP files is the external EEPROM file. The FLS is the firmware.&lt;br /&gt;
&lt;br /&gt;
The [[N90ap|iPhone 4]] has a single baseband firmware file. For example, the 4.0 baseband firmware filename is ICE3_01.59.00_BOOT_02.06.Release.bbfw. This is actually a .zip file which contains four baseband firmware files. As of [[iOS]] version 4.2.1 the baseband version is now checked by iOS.&lt;br /&gt;
&lt;br /&gt;
==Other links==&lt;br /&gt;
[http://www.deloware.com/iphone/doku.php?id=bbupdater bbupdater]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13526</id>
		<title>Baseband Bootloader</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13526"/>
		<updated>2010-11-23T22:26:44Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 2.08 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The baseband bootloader is the code which runs before the baseband FW, it is responsible for signature checking and updating the baseband. See also [[bootloader]].&lt;br /&gt;
&lt;br /&gt;
==[[S-Gold 2]] Revisions==&lt;br /&gt;
===3.1===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]].&lt;br /&gt;
&lt;br /&gt;
===3.8===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]]. It was often (unintentionally) installed when someone with a [[Fakeblank]]ed bootloader 3.9 downgraded to 1.0 or 1.1.1. This can be re-updated with [[BootNeuter]].&lt;br /&gt;
&lt;br /&gt;
===3.9===&lt;br /&gt;
This is the old bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x400]] and [[IPSF]]&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
This is the new bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 608]] Revisions==&lt;br /&gt;
===5.8===&lt;br /&gt;
This is the bootloader from the [[N82ap|iPhone 3G]]/[[X-Gold 608]]. It is, in contrast to 3.9 and 4.6, sig checked on startup. There is an exploit where the main fw cert is passed with the loader instead of the loader cert, and it checks the main firmware instead, allowing you to upload unsigned loader code. This has been fixed in 5.9. You can downgrade from 02.30.03 to 02.28.00 using [[pHaseBanDowngrader]] (by pH) in the Bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.8.fls.&lt;br /&gt;
&lt;br /&gt;
===5.9===&lt;br /&gt;
This is the bootloader of version 2.1 and 2.2 OTB (and some 2.0 OTB) [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could downgrade their iPhone 3G baseband from 1.48 to 1.45. Now, all the iPhone 3G has bootloader 5.9 and higher. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.9.fls&lt;br /&gt;
&lt;br /&gt;
===6.2===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2008 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could unlock their iPhone 3G baseband version 2.28 by yellowsn0w. Now, all the iPhone 3G 2.2.1 OTB has bootloader 6.2. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.2.fls&lt;br /&gt;
===6.4===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2009 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple released firmware 3.x beta for testing. [[N88ap|iPhone 3GS]] and [[K48ap|iPad 3G+WiFi]] units contain this bootloader as well. As of the 3.x firmwares (baseband v. 4.x), the baseband now contains the loader of bootloader 6.4.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.4.fls&lt;br /&gt;
00.00:00.00:04.24 DRV_ICE2_IFWD_04.24.00 DUALMODE SGOLD3  Apr  7 2009       ÿÿÿÿ    &lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 618]] Revisions==&lt;br /&gt;
===2.06===&lt;br /&gt;
This is the bootloader that ships with the [[N90ap|iPhone 4]]. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.0-4.0.2 is ICE3_01.59.00_BOOT_02.06.Release.bbfw.&lt;br /&gt;
&lt;br /&gt;
===2.08===&lt;br /&gt;
This is a new bootloader for the [[N90ap|iPhone 4]], it is unknown when the bootloader was updated (4.1 OOTB?). It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.1 is ICE3_02.10.04_BOOT_02.08.Release.bbfw.&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13500</id>
		<title>Baseband Bootloader</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13500"/>
		<updated>2010-11-23T16:21:56Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 2.08 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The baseband bootloader is the code which runs before the baseband FW, it is responsible for signature checking and updating the baseband. See also [[bootloader]].&lt;br /&gt;
&lt;br /&gt;
==[[S-Gold 2]] Revisions==&lt;br /&gt;
===3.1===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]].&lt;br /&gt;
&lt;br /&gt;
===3.8===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]]. It was often (unintentionally) installed when someone with a [[Fakeblank]]ed bootloader 3.9 downgraded to 1.0 or 1.1.1. This can be re-updated with [[BootNeuter]].&lt;br /&gt;
&lt;br /&gt;
===3.9===&lt;br /&gt;
This is the old bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x400]] and [[IPSF]]&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
This is the new bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 608]] Revisions==&lt;br /&gt;
===5.8===&lt;br /&gt;
This is the bootloader from the [[N82ap|iPhone 3G]]/[[X-Gold 608]]. It is, in contrast to 3.9 and 4.6, sig checked on startup. There is an exploit where the main fw cert is passed with the loader instead of the loader cert, and it checks the main firmware instead, allowing you to upload unsigned loader code. This has been fixed in 5.9. You can downgrade from 02.30.03 to 02.28.00 using [[pHaseBanDowngrader]] (by pH) in the Bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.8.fls.&lt;br /&gt;
&lt;br /&gt;
===5.9===&lt;br /&gt;
This is the bootloader of version 2.1 and 2.2 OTB (and some 2.0 OTB) [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could downgrade their iPhone 3G baseband from 1.48 to 1.45. Now, all the iPhone 3G has bootloader 5.9 and higher. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.9.fls&lt;br /&gt;
&lt;br /&gt;
===6.2===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2008 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could unlock their iPhone 3G baseband version 2.28 by yellowsn0w. Now, all the iPhone 3G 2.2.1 OTB has bootloader 6.2. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.2.fls&lt;br /&gt;
===6.4===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2009 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple released firmware 3.x beta for testing. [[N88ap|iPhone 3GS]] and [[K48ap|iPad 3G+WiFi]] units contain this bootloader as well. As of the 3.x firmwares (baseband v. 4.x), the baseband now contains the loader of bootloader 6.4.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.4.fls&lt;br /&gt;
00.00:00.00:04.24 DRV_ICE2_IFWD_04.24.00 DUALMODE SGOLD3  Apr  7 2009       ÿÿÿÿ    &lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 618]] Revisions==&lt;br /&gt;
===2.06===&lt;br /&gt;
This is the bootloader that ships with the [[N90ap|iPhone 4]]. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.0-4.0.2 is ICE3_01.59.00_BOOT_02.06.Release.bbfw.&lt;br /&gt;
&lt;br /&gt;
===2.08===&lt;br /&gt;
This is a new bootloader for the [[N90ap|iPhone 4]], it is unknown when the bootloader was updated. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.1 is ICE3_02.10.04_BOOT_02.08.Release.bbfw.&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13499</id>
		<title>Baseband Bootloader</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13499"/>
		<updated>2010-11-23T16:06:08Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* X-Gold 618 Revisions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The baseband bootloader is the code which runs before the baseband FW, it is responsible for signature checking and updating the baseband. See also [[bootloader]].&lt;br /&gt;
&lt;br /&gt;
==[[S-Gold 2]] Revisions==&lt;br /&gt;
===3.1===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]].&lt;br /&gt;
&lt;br /&gt;
===3.8===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]]. It was often (unintentionally) installed when someone with a [[Fakeblank]]ed bootloader 3.9 downgraded to 1.0 or 1.1.1. This can be re-updated with [[BootNeuter]].&lt;br /&gt;
&lt;br /&gt;
===3.9===&lt;br /&gt;
This is the old bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x400]] and [[IPSF]]&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
This is the new bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 608]] Revisions==&lt;br /&gt;
===5.8===&lt;br /&gt;
This is the bootloader from the [[N82ap|iPhone 3G]]/[[X-Gold 608]]. It is, in contrast to 3.9 and 4.6, sig checked on startup. There is an exploit where the main fw cert is passed with the loader instead of the loader cert, and it checks the main firmware instead, allowing you to upload unsigned loader code. This has been fixed in 5.9. You can downgrade from 02.30.03 to 02.28.00 using [[pHaseBanDowngrader]] (by pH) in the Bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.8.fls.&lt;br /&gt;
&lt;br /&gt;
===5.9===&lt;br /&gt;
This is the bootloader of version 2.1 and 2.2 OTB (and some 2.0 OTB) [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could downgrade their iPhone 3G baseband from 1.48 to 1.45. Now, all the iPhone 3G has bootloader 5.9 and higher. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.9.fls&lt;br /&gt;
&lt;br /&gt;
===6.2===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2008 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could unlock their iPhone 3G baseband version 2.28 by yellowsn0w. Now, all the iPhone 3G 2.2.1 OTB has bootloader 6.2. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.2.fls&lt;br /&gt;
===6.4===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2009 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple released firmware 3.x beta for testing. [[N88ap|iPhone 3GS]] and [[K48ap|iPad 3G+WiFi]] units contain this bootloader as well. As of the 3.x firmwares (baseband v. 4.x), the baseband now contains the loader of bootloader 6.4.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.4.fls&lt;br /&gt;
00.00:00.00:04.24 DRV_ICE2_IFWD_04.24.00 DUALMODE SGOLD3  Apr  7 2009       ÿÿÿÿ    &lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 618]] Revisions==&lt;br /&gt;
===2.06===&lt;br /&gt;
This is the bootloader that ships with the [[N90ap|iPhone 4]]. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.0-4.0.2 is ICE3_01.59.00_BOOT_02.06.Release.bbfw.&lt;br /&gt;
&lt;br /&gt;
===2.08===&lt;br /&gt;
This is a new bootloader [[N90ap|iPhone 4]], it is unknown when the bootloader was updated. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.1 is ICE3_02.10.04_BOOT_02.08.Release.bbfw.&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13498</id>
		<title>Baseband Bootloader</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13498"/>
		<updated>2010-11-23T16:04:54Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* 2.08 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The baseband bootloader is the code which runs before the baseband FW, it is responsible for signature checking and updating the baseband. See also [[bootloader]].&lt;br /&gt;
&lt;br /&gt;
==[[S-Gold 2]] Revisions==&lt;br /&gt;
===3.1===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]].&lt;br /&gt;
&lt;br /&gt;
===3.8===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]]. It was often (unintentionally) installed when someone with a [[Fakeblank]]ed bootloader 3.9 downgraded to 1.0 or 1.1.1. This can be re-updated with [[BootNeuter]].&lt;br /&gt;
&lt;br /&gt;
===3.9===&lt;br /&gt;
This is the old bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x400]] and [[IPSF]]&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
This is the new bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 608]] Revisions==&lt;br /&gt;
===5.8===&lt;br /&gt;
This is the bootloader from the [[N82ap|iPhone 3G]]/[[X-Gold 608]]. It is, in contrast to 3.9 and 4.6, sig checked on startup. There is an exploit where the main fw cert is passed with the loader instead of the loader cert, and it checks the main firmware instead, allowing you to upload unsigned loader code. This has been fixed in 5.9. You can downgrade from 02.30.03 to 02.28.00 using [[pHaseBanDowngrader]] (by pH) in the Bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.8.fls.&lt;br /&gt;
&lt;br /&gt;
===5.9===&lt;br /&gt;
This is the bootloader of version 2.1 and 2.2 OTB (and some 2.0 OTB) [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could downgrade their iPhone 3G baseband from 1.48 to 1.45. Now, all the iPhone 3G has bootloader 5.9 and higher. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.9.fls&lt;br /&gt;
&lt;br /&gt;
===6.2===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2008 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could unlock their iPhone 3G baseband version 2.28 by yellowsn0w. Now, all the iPhone 3G 2.2.1 OTB has bootloader 6.2. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.2.fls&lt;br /&gt;
===6.4===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2009 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple released firmware 3.x beta for testing. [[N88ap|iPhone 3GS]] and [[K48ap|iPad 3G+WiFi]] units contain this bootloader as well. As of the 3.x firmwares (baseband v. 4.x), the baseband now contains the loader of bootloader 6.4.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.4.fls&lt;br /&gt;
00.00:00.00:04.24 DRV_ICE2_IFWD_04.24.00 DUALMODE SGOLD3  Apr  7 2009       ÿÿÿÿ    &lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 618]] Revisions==&lt;br /&gt;
===2.06===&lt;br /&gt;
This is the bootloader that ships with the [[N90ap|iPhone 4]]. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.0-4.0.2 is ICE3_01.59.00_BOOT_02.06.Release.bbfw.&lt;br /&gt;
&lt;br /&gt;
===2.08===&lt;br /&gt;
This is a new bootloader, it is unknown when apple updated. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.1 is ICE3_02.10.04_BOOT_02.08.Release.bbfw.&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13497</id>
		<title>Baseband Bootloader</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Baseband_Bootloader&amp;diff=13497"/>
		<updated>2010-11-23T16:04:08Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* X-Gold 618 Revisions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The baseband bootloader is the code which runs before the baseband FW, it is responsible for signature checking and updating the baseband. See also [[bootloader]].&lt;br /&gt;
&lt;br /&gt;
==[[S-Gold 2]] Revisions==&lt;br /&gt;
===3.1===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]].&lt;br /&gt;
&lt;br /&gt;
===3.8===&lt;br /&gt;
Found in the iOS 1.0 and 1.1.1 [[Restore/Update Ramdisks|ramdisk]]s for the [[M68ap|iPhone 2G]]. It was often (unintentionally) installed when someone with a [[Fakeblank]]ed bootloader 3.9 downgraded to 1.0 or 1.1.1. This can be re-updated with [[BootNeuter]].&lt;br /&gt;
&lt;br /&gt;
===3.9===&lt;br /&gt;
This is the old bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x400]] and [[IPSF]]&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
This is the new bootloader from the [[M68ap|iPhone]]/[[S-Gold 2]]. It is vulnerable to [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 608]] Revisions==&lt;br /&gt;
===5.8===&lt;br /&gt;
This is the bootloader from the [[N82ap|iPhone 3G]]/[[X-Gold 608]]. It is, in contrast to 3.9 and 4.6, sig checked on startup. There is an exploit where the main fw cert is passed with the loader instead of the loader cert, and it checks the main firmware instead, allowing you to upload unsigned loader code. This has been fixed in 5.9. You can downgrade from 02.30.03 to 02.28.00 using [[pHaseBanDowngrader]] (by pH) in the Bootloader 5.8.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.8.fls.&lt;br /&gt;
&lt;br /&gt;
===5.9===&lt;br /&gt;
This is the bootloader of version 2.1 and 2.2 OTB (and some 2.0 OTB) [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could downgrade their iPhone 3G baseband from 1.48 to 1.45. Now, all the iPhone 3G has bootloader 5.9 and higher. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.5.9.fls&lt;br /&gt;
&lt;br /&gt;
===6.2===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2008 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple knew [[iPhone Dev Team]] could unlock their iPhone 3G baseband version 2.28 by yellowsn0w. Now, all the iPhone 3G 2.2.1 OTB has bootloader 6.2. &lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.2.fls&lt;br /&gt;
===6.4===&lt;br /&gt;
This is the latest bootloader of version 2.2.1 OTB in 2009 [[N82ap|iPhone 3G]]/[[X-Gold 608]]. Still has no known exploits and it was released as soon as Apple released firmware 3.x beta for testing. [[N88ap|iPhone 3GS]] and [[K48ap|iPad 3G+WiFi]] units contain this bootloader as well. As of the 3.x firmwares (baseband v. 4.x), the baseband now contains the loader of bootloader 6.4.&lt;br /&gt;
&lt;br /&gt;
DWD_ICE2_SECURE_BOOTLOADER/Secure_ICE2_Bootloader.6.4.fls&lt;br /&gt;
00.00:00.00:04.24 DRV_ICE2_IFWD_04.24.00 DUALMODE SGOLD3  Apr  7 2009       ÿÿÿÿ    &lt;br /&gt;
&lt;br /&gt;
==[[X-Gold 618]] Revisions==&lt;br /&gt;
===2.06===&lt;br /&gt;
This is the bootloader that ships with the [[N90ap|iPhone 4]]. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.0-4.0.2 is ICE3_01.59.00_BOOT_02.06.Release.bbfw.&lt;br /&gt;
&lt;br /&gt;
===2.08===&lt;br /&gt;
This is a new bootloader. It has no known exploits. It is in a zip file with the baseband in the iPhone firmware. The name of the zip file in iOS 4.1 is ICE3_02.10.04_BOOT_02.08.Release.bbfw.&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6782</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6782"/>
		<updated>2010-06-29T09:39:32Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPod touch (3rd generation) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the operating system the iPhone/iPod Touch runs. Latest Apple download links can be found [http://www.itunes.com/version here].&lt;br /&gt;
&lt;br /&gt;
==Comparison of firmware versions==&lt;br /&gt;
&lt;br /&gt;
===[[K48ap|iPad]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]] (3G only)&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|Wildcat 7B367]]&lt;br /&gt;
| 06.15.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPad/061-7987.20100403.mjiTr/iPad1,1_3.2_7B367_Restore.ipsw iPad1,1_3.2_7B367_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;172e8297af74b91971a802e6ad137c891f553099&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 478,959,325&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| [[Alpine 1A420]]&lt;br /&gt;
| [http://img399.imageshack.us/i/iphone2go0.jpg/ 03.06.01_G]&lt;br /&gt;
| iphoneproto.zip&lt;br /&gt;
| &amp;lt;code&amp;gt;6e798e906c6590a7521ef89b731569be6d05b3aa&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prototype; [http://forums.macrumors.com/showthread.php?t=627449 macrumors]&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 109,813,128&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| Heavenly 1A543a&lt;br /&gt;
| 03.11.02_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw iPhone1,1_1.0_1A543a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;fb8bb3ee2e9a997affbb97868599f2995c78209c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial US shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,604,348&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| Heavenly 1C25&lt;br /&gt;
| 03.12.06_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3614.20070731.Nt6Y7/iPhone1,1_1.0.1_1C25_Restore.ipsw iPhone1,1_1.0.1_1C25_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a00b85a7a55d62a94be5fbf5effbc42fd63f3097&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,958&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| Heavenly 1C28&lt;br /&gt;
| 03.14.08_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3823.20070821.vormd/iPhone1,1_1.0.2_1C28_Restore.ipsw iPhone1,1_1.0.2_1C28_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f5c0ff1f84a0202b75a55c3fcb362e415334d1e&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,324&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A109a&lt;br /&gt;
| 04.01.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3883.20070927.In76t/iPhone1,1_1.1.1_3A109a_Restore.ipsw iPhone1,1_1.1.1_3A109a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;d441dd1c71ce18f25d8fc4faa71c1e6eaa02d02c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 159,668,150&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| 04.02.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4037.20071107.5Bghn/iPhone1,1_1.1.2_3B48b_Restore.ipsw iPhone1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;797c02e7d660940e8d9a16cc7229ccf3f67dd8b1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial Euro shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 167,927,501&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| 04.03.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4061.20080115.4Fvn7/iPhone1,1_1.1.3_4A93_Restore.ipsw iPhone1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b3dec7580bd00dc4faf28449d9618ef40aeacc96&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,950,551&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| 04.04.05_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4313.20080226.Sw39i/iPhone1,1_1.1.4_4A102_Restore.ipsw iPhone1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;000811bac096011b50ebf6ec1ec2285b62fda4cb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,946,442&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw iPhone1,1_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9c510a3cfce789fa5f92a8f763c231bac82ff6d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 228,768,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5135.20080729.Vfgtr/iPhone1,1_2.0.1_5B108_Restore.ipsw iPhone1,1_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61de6a2bd6ceddc9ecabad1671b91a59b3824bc4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 254,048,068&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5246.20080818.2V0hO/iPhone1,1_2.0.2_5C1_Restore.ipsw iPhone1,1_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b84b57bea919bdc720287ec908c1378e7d7b5e1b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,589,000&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5202.20080909.gkbEj/iPhone1,1_2.1_5F136_Restore.ipsw iPhone1,1_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;353b7745767b85932e14e262e69463620939bdf7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,171,241&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5779.20081120.Pt5yH/iPhone1,1_2.2_5G77_Restore.ipsw iPhone1,1_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;cbfc6ff886ce89868a55547b9fb980dbf92e6418&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,576,980&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5830.20090127.Mmni6/iPhone1,1_2.2.1_5H11_Restore.ipsw iPhone1,1_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;43b95ebe1e51f8d30eae916053396595c08440d3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,593,705&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|Kirkwood 7A341]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw iPhone1,1_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2afd3f8ede17390737f508473ed205506a0bd23f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,394,111&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|Kirkwood 7A400]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6974.20090731.Cf4Tg/iPhone1,1_3.0.1_7A400_Restore.ipsw  iPhone1,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34c391fbbc7b31b159372766de39ce5c9cc26ebb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,439,502&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|Northstar 7C144]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6605.20090909.PQ3ws/iPhone1,1_3.1_7C144_Restore.ipsw iPhone1,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b7b5f436f81c6f855410e8b44a3d432ccaacd6fc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,536,460&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|Northstar 7D11]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7268.20091008.32pNe/iPhone1,1_3.1.2_7D11_Restore.ipsw iPhone1,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e4a1171542dbbd3093516d9c02047b9f7e143050&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,515,888&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7481.20100202.4orot/iPhone1,1_3.1.3_7E18_Restore.ipsw iPhone1,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;eab23a7f8d2a17cb71046c50fc5f67ec390a3c2b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 238,319,275&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N82ap|iPhone 3G]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A345&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4955.20080710.bgt53/iPhone1,2_2.0_5A347_Restore.ipsw iPhone1,2_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;af9506ca0034e462674f9f59c5406f159eaf9fc1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,957,125&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 01.48.02&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5134.20080729.Q2W3E/iPhone1,2_2.0.1_5B108_Restore.ipsw iPhone1,2_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e81c7ac7e334a3e9d81b3b47894bfaa1ec495482&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 261,224,227&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 02.08.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5241.20080818.t5Fv3/iPhone1,2_2.0.2_5C1_Restore.ipsw iPhone1,2_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;bef7fef954293046420fbcf947379839178a195b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,761,030&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 02.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5198.20080909.K3294/iPhone1,2_2.1_5F136_Restore.ipsw iPhone1,2_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c6957dcbf2a95ccfd6dce374a727b1b7700a9043&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,341,655&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 02.28.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5778.20081120.Aqw4R/iPhone1,2_2.2_5G77_Restore.ipsw iPhone1,2_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f67f8b2b842428bf89456cda0c2d5cf954d111a4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[Ultrasn0w|yellowsn0w]]}}&lt;br /&gt;
| 258,342,348&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 02.30.03&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5828.20090127.aQLi8/iPhone1,2_2.2.1_5H11_Restore.ipsw iPhone1,2_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e0098e6fab5c90b59e067e03ae3ccd4a7cd0f39c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,359,073&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw iPhone1,2_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;94f1fb43de12bff0f168ce690b7e794cc6220ae3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,229,233&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|Kirkwood 7A400]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6972.20090731.Zx3Rr/iPhone1,2_3.0.1_7A400_Restore.ipsw  iPhone1,2_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a148ff39fa4dea499e7a9dd007b63e90c4f56666&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,274,617&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6600.20090909.AwndZ/iPhone1,2_3.1_7C144_Restore.ipsw iPhone1,2_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b3b3c148170b012012278efda9ff5c38282d559&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,361,339&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw iPhone1,2_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b1a6ab2771bb5da372ba75a8fa3e1d72b71359d0&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,340,786&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7468.20100202.pbnrt/iPhone1,2_3.1.3_7E18_Restore.ipsw iPhone1,2_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f5950afca546f93e281ba3cdb08bc0cfed7f0896&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 239,139,281&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7436.20100621.58Yt4/iPhone1,2_4.0_8A293_Restore.ipsw iPhone1,2_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee1eba9281b902d7ff3f24d50f9aebff0df27f92&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 306,274,631&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
'''*'''Jailbreak on 4.0 is only possible with Pwnagetool, as long as it has the older bootroom (iBoot-359.3) and wasn't jailbroken using Spirit. See [[Untethered jailbreak|untethered-jailbreak]]&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6582.20090617.LlI87/iPhone2,1_3.0_7A341_Restore.ipsw iPhone2,1_3.0_7A341_Restore.ipsw] &lt;br /&gt;
| &amp;lt;code&amp;gt;d8534408c8679c830fd0c4e36ef9762c11ef73df&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,292,933&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| Kirkwood 7A400&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6976.20090731.Vgbt5/iPhone2,1_3.0.1_7A400_Restore.ipsw  iPhone2,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;30006575af931e3da0521febace005152cdb8853&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,330,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6609.20090909.mwws4/iPhone2,1_3.1_7C144_Restore.ipsw  iPhone2,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;527c74f87588afa1d69c1e2c08eedc88f113013a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,011,474&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw iPhone2,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6998bb7d9e869b2d89a08853312f9457d070fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,015,700&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw iPhone2,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8cb3775e62c6f72059a962bf891b4e145b965052&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 305,122,343&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw iPhone2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e065245874c73510ceb8fa4bd9388b60d46eb252&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 396,281,280&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|Apex 8A293]]&lt;br /&gt;
| 01.59.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7380.20100621,Vfgb5/iPhone3,1_4.0_8A293_Restore.ipsw iPhone3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;171c2a3995fa149f2a369ccd87f82c5c30da3f88&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 607,363,121&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N45ap|iPod touch (1st generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A100a&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A101a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3882.20070910.N8uyT/iPod1,1_1.1_3A101a_Restore.ipsw iPod1,1_1.1_3A101a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b0d83c7f8b4328174a3f31e0e93f60e591ae143&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,890,186&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A110a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw iPod1,1_1.1.1_3A110a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;84bbc6ea8bf29745195bc9926c1874f7c2a36f32&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,906,686&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw iPod1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;108d8ffe9ea75e61cd5e57170ad388b7fa00d923&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 165,567,897&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-4060.20080115.9Iuh5/iPod1,1_1.1.3_4A93_Restore.ipsw iPod1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8dca23eec69d5ae58fbf3d4a23276e46cbb2e3c6&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,511,411&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4312.20080226.Btu45/iPod1,1_1.1.4_4A102_Restore.ipsw iPod1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c148d1eb1c979bb6434175411d4a372103a4fdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,589&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.5&lt;br /&gt;
| Little Bear 4B1&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4841.20080714.bgy8O/iPod1,1_1.1.5_4B1_Restore.ipsw iPod1,1_1.1.5_4B1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;1b818911316e4248ee01d3ec67f9d39afc3db240&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;ae82798e85f9953b0f4798bad36187cb020c9d22&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 233,409,573&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;a81b6e7af4b85ef436d047f9da57c0f694d8964a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,660,321&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,201,218&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F137&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc7f6d0972927df502ffca47438ca75dcccffaf3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 251,155,156&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;081a7de363230fb38d0ce092cbbe42f2a50c8a5f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,186,851&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc69be9e421bc0630567184506ab771f6b7ef68b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,166,688&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| Kirkwood 7A341&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;dff2bd14931225908a360fb8e60a336f17d2dd6d&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,458,552&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| Northstar 7C145&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c6270780c166db4c9f4f0a7fa945754a1f9fe7e8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,755,862&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| Northstar 7D11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;7367dd9ba58a3b9777307368a0128e696fdfc9a6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 249,780,497&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f897990f19d2f093b35e0813d7d77806404fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,678,189&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch (2nd generation)]]===&lt;br /&gt;
&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;Due to a new bootrom designed to close the [[0x24000 Segment Overflow]], an iPod touch 2G with a model number beginning with &amp;quot;MC&amp;quot; cannot be jailbroken on 4.0.&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.1.1&lt;br /&gt;
| [[Sugar Bowl 5F138]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-5494.20080909.8i9o0/iPod2,1_2.1.1_5F138_Restore.ipsw iPod2,1_2.1.1_5F138_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c3c700be49ad227d1152188e7c1e46b8958fd1e4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 282,083,944&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-5358.20081120.Gtghy/iPod2,1_2.2_5G77a_Restore.ipsw iPod2,1_2.2_5G77a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34a0a489605f34d6cc6c9954edcaaf9a050deedc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,123,491&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5863.20090127.rt56K/iPod2,1_2.2.1_5H11a_Restore.ipsw iPod2,1_2.2.1_5H11a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9af5625ea34acdd8abeb6fce71a72651d0c815d5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,140,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.x is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 270,315,364&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 277,753,989&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 277,794,671&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f4f5c01eda2f811f73167e7d1f82dbeed82367b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 263,275,211&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw iPod2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c026c373bc535496a6f901de2ba37d4a487413bf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 330,278,777&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N18AP|iPod touch (3rd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C145]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-7163.20090909.NtstR/iPod3,1_3.1.1_7C145_Restore.ipsw iPod3,1_3.1.1_7C145_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a3eddbe2cf77858bae7087dc8b2035f0d3097e57&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
&lt;br /&gt;
| 311,702,789&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C146]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7238.20090918.23GhT/iPod3,1_3.1.1_7C146_Restore.ipsw iPod3,1_3.1.1_7C146_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f66a7286b261137f25ddbbd84047f9a7ea181904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,690,768&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7271.20091008.Tch23/iPod3,1_3.1.2_7D11_Restore.ipsw iPod3,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;02dcee28d788d594a2939ab564f4f183af6ccdf2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,740,034&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7473.20100202.4i44t/iPod3,1_3.1.3_7E18_Restore.ipsw iPod3,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;375fd469b18bfc0b74c7cfa5b4d5945197b1d106&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 295,870,806&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apex 8A293&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7381.20100621.AzSP9/iPod3,1_4.0_8A293_Restore.ipsw iPod3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;36fe02b83f87d6305db572e1644841e3cd64cc7d&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 384,178,784&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[VFDecrypt Keys]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://www.trejan.com/projects/ipod/ Firmware List]&lt;br /&gt;
*[http://pastebin.ca/1209360 A link of interest...]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6781</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6781"/>
		<updated>2010-06-29T09:39:13Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPod touch (3rd generation) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the operating system the iPhone/iPod Touch runs. Latest Apple download links can be found [http://www.itunes.com/version here].&lt;br /&gt;
&lt;br /&gt;
==Comparison of firmware versions==&lt;br /&gt;
&lt;br /&gt;
===[[K48ap|iPad]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]] (3G only)&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|Wildcat 7B367]]&lt;br /&gt;
| 06.15.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPad/061-7987.20100403.mjiTr/iPad1,1_3.2_7B367_Restore.ipsw iPad1,1_3.2_7B367_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;172e8297af74b91971a802e6ad137c891f553099&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 478,959,325&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| [[Alpine 1A420]]&lt;br /&gt;
| [http://img399.imageshack.us/i/iphone2go0.jpg/ 03.06.01_G]&lt;br /&gt;
| iphoneproto.zip&lt;br /&gt;
| &amp;lt;code&amp;gt;6e798e906c6590a7521ef89b731569be6d05b3aa&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prototype; [http://forums.macrumors.com/showthread.php?t=627449 macrumors]&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 109,813,128&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| Heavenly 1A543a&lt;br /&gt;
| 03.11.02_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw iPhone1,1_1.0_1A543a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;fb8bb3ee2e9a997affbb97868599f2995c78209c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial US shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,604,348&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| Heavenly 1C25&lt;br /&gt;
| 03.12.06_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3614.20070731.Nt6Y7/iPhone1,1_1.0.1_1C25_Restore.ipsw iPhone1,1_1.0.1_1C25_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a00b85a7a55d62a94be5fbf5effbc42fd63f3097&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,958&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| Heavenly 1C28&lt;br /&gt;
| 03.14.08_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3823.20070821.vormd/iPhone1,1_1.0.2_1C28_Restore.ipsw iPhone1,1_1.0.2_1C28_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f5c0ff1f84a0202b75a55c3fcb362e415334d1e&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,324&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A109a&lt;br /&gt;
| 04.01.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3883.20070927.In76t/iPhone1,1_1.1.1_3A109a_Restore.ipsw iPhone1,1_1.1.1_3A109a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;d441dd1c71ce18f25d8fc4faa71c1e6eaa02d02c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 159,668,150&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| 04.02.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4037.20071107.5Bghn/iPhone1,1_1.1.2_3B48b_Restore.ipsw iPhone1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;797c02e7d660940e8d9a16cc7229ccf3f67dd8b1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial Euro shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 167,927,501&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| 04.03.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4061.20080115.4Fvn7/iPhone1,1_1.1.3_4A93_Restore.ipsw iPhone1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b3dec7580bd00dc4faf28449d9618ef40aeacc96&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,950,551&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| 04.04.05_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4313.20080226.Sw39i/iPhone1,1_1.1.4_4A102_Restore.ipsw iPhone1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;000811bac096011b50ebf6ec1ec2285b62fda4cb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,946,442&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw iPhone1,1_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9c510a3cfce789fa5f92a8f763c231bac82ff6d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 228,768,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5135.20080729.Vfgtr/iPhone1,1_2.0.1_5B108_Restore.ipsw iPhone1,1_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61de6a2bd6ceddc9ecabad1671b91a59b3824bc4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 254,048,068&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5246.20080818.2V0hO/iPhone1,1_2.0.2_5C1_Restore.ipsw iPhone1,1_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b84b57bea919bdc720287ec908c1378e7d7b5e1b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,589,000&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5202.20080909.gkbEj/iPhone1,1_2.1_5F136_Restore.ipsw iPhone1,1_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;353b7745767b85932e14e262e69463620939bdf7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,171,241&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5779.20081120.Pt5yH/iPhone1,1_2.2_5G77_Restore.ipsw iPhone1,1_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;cbfc6ff886ce89868a55547b9fb980dbf92e6418&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,576,980&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5830.20090127.Mmni6/iPhone1,1_2.2.1_5H11_Restore.ipsw iPhone1,1_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;43b95ebe1e51f8d30eae916053396595c08440d3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,593,705&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|Kirkwood 7A341]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw iPhone1,1_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2afd3f8ede17390737f508473ed205506a0bd23f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,394,111&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|Kirkwood 7A400]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6974.20090731.Cf4Tg/iPhone1,1_3.0.1_7A400_Restore.ipsw  iPhone1,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34c391fbbc7b31b159372766de39ce5c9cc26ebb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,439,502&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|Northstar 7C144]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6605.20090909.PQ3ws/iPhone1,1_3.1_7C144_Restore.ipsw iPhone1,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b7b5f436f81c6f855410e8b44a3d432ccaacd6fc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,536,460&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|Northstar 7D11]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7268.20091008.32pNe/iPhone1,1_3.1.2_7D11_Restore.ipsw iPhone1,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e4a1171542dbbd3093516d9c02047b9f7e143050&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,515,888&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7481.20100202.4orot/iPhone1,1_3.1.3_7E18_Restore.ipsw iPhone1,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;eab23a7f8d2a17cb71046c50fc5f67ec390a3c2b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 238,319,275&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N82ap|iPhone 3G]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A345&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4955.20080710.bgt53/iPhone1,2_2.0_5A347_Restore.ipsw iPhone1,2_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;af9506ca0034e462674f9f59c5406f159eaf9fc1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,957,125&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 01.48.02&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5134.20080729.Q2W3E/iPhone1,2_2.0.1_5B108_Restore.ipsw iPhone1,2_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e81c7ac7e334a3e9d81b3b47894bfaa1ec495482&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 261,224,227&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 02.08.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5241.20080818.t5Fv3/iPhone1,2_2.0.2_5C1_Restore.ipsw iPhone1,2_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;bef7fef954293046420fbcf947379839178a195b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,761,030&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 02.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5198.20080909.K3294/iPhone1,2_2.1_5F136_Restore.ipsw iPhone1,2_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c6957dcbf2a95ccfd6dce374a727b1b7700a9043&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,341,655&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 02.28.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5778.20081120.Aqw4R/iPhone1,2_2.2_5G77_Restore.ipsw iPhone1,2_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f67f8b2b842428bf89456cda0c2d5cf954d111a4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[Ultrasn0w|yellowsn0w]]}}&lt;br /&gt;
| 258,342,348&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 02.30.03&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5828.20090127.aQLi8/iPhone1,2_2.2.1_5H11_Restore.ipsw iPhone1,2_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e0098e6fab5c90b59e067e03ae3ccd4a7cd0f39c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,359,073&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw iPhone1,2_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;94f1fb43de12bff0f168ce690b7e794cc6220ae3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,229,233&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|Kirkwood 7A400]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6972.20090731.Zx3Rr/iPhone1,2_3.0.1_7A400_Restore.ipsw  iPhone1,2_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a148ff39fa4dea499e7a9dd007b63e90c4f56666&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,274,617&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6600.20090909.AwndZ/iPhone1,2_3.1_7C144_Restore.ipsw iPhone1,2_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b3b3c148170b012012278efda9ff5c38282d559&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,361,339&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw iPhone1,2_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b1a6ab2771bb5da372ba75a8fa3e1d72b71359d0&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,340,786&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7468.20100202.pbnrt/iPhone1,2_3.1.3_7E18_Restore.ipsw iPhone1,2_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f5950afca546f93e281ba3cdb08bc0cfed7f0896&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 239,139,281&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7436.20100621.58Yt4/iPhone1,2_4.0_8A293_Restore.ipsw iPhone1,2_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee1eba9281b902d7ff3f24d50f9aebff0df27f92&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 306,274,631&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
'''*'''Jailbreak on 4.0 is only possible with Pwnagetool, as long as it has the older bootroom (iBoot-359.3) and wasn't jailbroken using Spirit. See [[Untethered jailbreak|untethered-jailbreak]]&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6582.20090617.LlI87/iPhone2,1_3.0_7A341_Restore.ipsw iPhone2,1_3.0_7A341_Restore.ipsw] &lt;br /&gt;
| &amp;lt;code&amp;gt;d8534408c8679c830fd0c4e36ef9762c11ef73df&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,292,933&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| Kirkwood 7A400&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6976.20090731.Vgbt5/iPhone2,1_3.0.1_7A400_Restore.ipsw  iPhone2,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;30006575af931e3da0521febace005152cdb8853&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,330,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6609.20090909.mwws4/iPhone2,1_3.1_7C144_Restore.ipsw  iPhone2,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;527c74f87588afa1d69c1e2c08eedc88f113013a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,011,474&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw iPhone2,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6998bb7d9e869b2d89a08853312f9457d070fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,015,700&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw iPhone2,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8cb3775e62c6f72059a962bf891b4e145b965052&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 305,122,343&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw iPhone2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e065245874c73510ceb8fa4bd9388b60d46eb252&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 396,281,280&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|Apex 8A293]]&lt;br /&gt;
| 01.59.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7380.20100621,Vfgb5/iPhone3,1_4.0_8A293_Restore.ipsw iPhone3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;171c2a3995fa149f2a369ccd87f82c5c30da3f88&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 607,363,121&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N45ap|iPod touch (1st generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A100a&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A101a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3882.20070910.N8uyT/iPod1,1_1.1_3A101a_Restore.ipsw iPod1,1_1.1_3A101a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b0d83c7f8b4328174a3f31e0e93f60e591ae143&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,890,186&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A110a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw iPod1,1_1.1.1_3A110a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;84bbc6ea8bf29745195bc9926c1874f7c2a36f32&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,906,686&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw iPod1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;108d8ffe9ea75e61cd5e57170ad388b7fa00d923&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 165,567,897&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-4060.20080115.9Iuh5/iPod1,1_1.1.3_4A93_Restore.ipsw iPod1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8dca23eec69d5ae58fbf3d4a23276e46cbb2e3c6&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,511,411&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4312.20080226.Btu45/iPod1,1_1.1.4_4A102_Restore.ipsw iPod1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c148d1eb1c979bb6434175411d4a372103a4fdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,589&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.5&lt;br /&gt;
| Little Bear 4B1&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4841.20080714.bgy8O/iPod1,1_1.1.5_4B1_Restore.ipsw iPod1,1_1.1.5_4B1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;1b818911316e4248ee01d3ec67f9d39afc3db240&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;ae82798e85f9953b0f4798bad36187cb020c9d22&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 233,409,573&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;a81b6e7af4b85ef436d047f9da57c0f694d8964a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,660,321&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,201,218&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F137&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc7f6d0972927df502ffca47438ca75dcccffaf3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 251,155,156&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;081a7de363230fb38d0ce092cbbe42f2a50c8a5f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,186,851&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc69be9e421bc0630567184506ab771f6b7ef68b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,166,688&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| Kirkwood 7A341&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;dff2bd14931225908a360fb8e60a336f17d2dd6d&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,458,552&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| Northstar 7C145&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c6270780c166db4c9f4f0a7fa945754a1f9fe7e8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,755,862&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| Northstar 7D11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;7367dd9ba58a3b9777307368a0128e696fdfc9a6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 249,780,497&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f897990f19d2f093b35e0813d7d77806404fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,678,189&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch (2nd generation)]]===&lt;br /&gt;
&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;Due to a new bootrom designed to close the [[0x24000 Segment Overflow]], an iPod touch 2G with a model number beginning with &amp;quot;MC&amp;quot; cannot be jailbroken on 4.0.&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.1.1&lt;br /&gt;
| [[Sugar Bowl 5F138]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-5494.20080909.8i9o0/iPod2,1_2.1.1_5F138_Restore.ipsw iPod2,1_2.1.1_5F138_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c3c700be49ad227d1152188e7c1e46b8958fd1e4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 282,083,944&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-5358.20081120.Gtghy/iPod2,1_2.2_5G77a_Restore.ipsw iPod2,1_2.2_5G77a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34a0a489605f34d6cc6c9954edcaaf9a050deedc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,123,491&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5863.20090127.rt56K/iPod2,1_2.2.1_5H11a_Restore.ipsw iPod2,1_2.2.1_5H11a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9af5625ea34acdd8abeb6fce71a72651d0c815d5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,140,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.x is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 270,315,364&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 277,753,989&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 277,794,671&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f4f5c01eda2f811f73167e7d1f82dbeed82367b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 263,275,211&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw iPod2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c026c373bc535496a6f901de2ba37d4a487413bf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 330,278,777&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N18AP|iPod touch (3rd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C145]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-7163.20090909.NtstR/iPod3,1_3.1.1_7C145_Restore.ipsw iPod3,1_3.1.1_7C145_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a3eddbe2cf77858bae7087dc8b2035f0d3097e57&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
&lt;br /&gt;
| 311,702,789&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C146]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7238.20090918.23GhT/iPod3,1_3.1.1_7C146_Restore.ipsw iPod3,1_3.1.1_7C146_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f66a7286b261137f25ddbbd84047f9a7ea181904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,690,768&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7271.20091008.Tch23/iPod3,1_3.1.2_7D11_Restore.ipsw iPod3,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;02dcee28d788d594a2939ab564f4f183af6ccdf2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,740,034&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7473.20100202.4i44t/iPod3,1_3.1.3_7E18_Restore.ipsw iPod3,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;375fd469b18bfc0b74c7cfa5b4d5945197b1d106&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 295,870,806&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apex 8A293&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7381.20100621.AzSP9/iPod3,1_4.0_8A293_Restore.ipsw iPod3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;36fe02b83f87d6305db572e1644841e3cd64cc7d&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes, not publicly available}}&lt;br /&gt;
| 384,178,784&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[VFDecrypt Keys]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://www.trejan.com/projects/ipod/ Firmware List]&lt;br /&gt;
*[http://pastebin.ca/1209360 A link of interest...]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6780</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6780"/>
		<updated>2010-06-29T09:38:30Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPod touch (3rd generation) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the operating system the iPhone/iPod Touch runs. Latest Apple download links can be found [http://www.itunes.com/version here].&lt;br /&gt;
&lt;br /&gt;
==Comparison of firmware versions==&lt;br /&gt;
&lt;br /&gt;
===[[K48ap|iPad]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]] (3G only)&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|Wildcat 7B367]]&lt;br /&gt;
| 06.15.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPad/061-7987.20100403.mjiTr/iPad1,1_3.2_7B367_Restore.ipsw iPad1,1_3.2_7B367_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;172e8297af74b91971a802e6ad137c891f553099&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 478,959,325&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| [[Alpine 1A420]]&lt;br /&gt;
| [http://img399.imageshack.us/i/iphone2go0.jpg/ 03.06.01_G]&lt;br /&gt;
| iphoneproto.zip&lt;br /&gt;
| &amp;lt;code&amp;gt;6e798e906c6590a7521ef89b731569be6d05b3aa&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prototype; [http://forums.macrumors.com/showthread.php?t=627449 macrumors]&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 109,813,128&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| Heavenly 1A543a&lt;br /&gt;
| 03.11.02_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw iPhone1,1_1.0_1A543a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;fb8bb3ee2e9a997affbb97868599f2995c78209c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial US shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,604,348&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| Heavenly 1C25&lt;br /&gt;
| 03.12.06_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3614.20070731.Nt6Y7/iPhone1,1_1.0.1_1C25_Restore.ipsw iPhone1,1_1.0.1_1C25_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a00b85a7a55d62a94be5fbf5effbc42fd63f3097&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,958&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| Heavenly 1C28&lt;br /&gt;
| 03.14.08_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3823.20070821.vormd/iPhone1,1_1.0.2_1C28_Restore.ipsw iPhone1,1_1.0.2_1C28_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f5c0ff1f84a0202b75a55c3fcb362e415334d1e&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,324&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A109a&lt;br /&gt;
| 04.01.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3883.20070927.In76t/iPhone1,1_1.1.1_3A109a_Restore.ipsw iPhone1,1_1.1.1_3A109a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;d441dd1c71ce18f25d8fc4faa71c1e6eaa02d02c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 159,668,150&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| 04.02.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4037.20071107.5Bghn/iPhone1,1_1.1.2_3B48b_Restore.ipsw iPhone1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;797c02e7d660940e8d9a16cc7229ccf3f67dd8b1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial Euro shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 167,927,501&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| 04.03.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4061.20080115.4Fvn7/iPhone1,1_1.1.3_4A93_Restore.ipsw iPhone1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b3dec7580bd00dc4faf28449d9618ef40aeacc96&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,950,551&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| 04.04.05_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4313.20080226.Sw39i/iPhone1,1_1.1.4_4A102_Restore.ipsw iPhone1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;000811bac096011b50ebf6ec1ec2285b62fda4cb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,946,442&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw iPhone1,1_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9c510a3cfce789fa5f92a8f763c231bac82ff6d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 228,768,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5135.20080729.Vfgtr/iPhone1,1_2.0.1_5B108_Restore.ipsw iPhone1,1_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61de6a2bd6ceddc9ecabad1671b91a59b3824bc4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 254,048,068&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5246.20080818.2V0hO/iPhone1,1_2.0.2_5C1_Restore.ipsw iPhone1,1_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b84b57bea919bdc720287ec908c1378e7d7b5e1b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,589,000&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5202.20080909.gkbEj/iPhone1,1_2.1_5F136_Restore.ipsw iPhone1,1_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;353b7745767b85932e14e262e69463620939bdf7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,171,241&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5779.20081120.Pt5yH/iPhone1,1_2.2_5G77_Restore.ipsw iPhone1,1_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;cbfc6ff886ce89868a55547b9fb980dbf92e6418&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,576,980&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5830.20090127.Mmni6/iPhone1,1_2.2.1_5H11_Restore.ipsw iPhone1,1_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;43b95ebe1e51f8d30eae916053396595c08440d3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,593,705&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|Kirkwood 7A341]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw iPhone1,1_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2afd3f8ede17390737f508473ed205506a0bd23f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,394,111&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|Kirkwood 7A400]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6974.20090731.Cf4Tg/iPhone1,1_3.0.1_7A400_Restore.ipsw  iPhone1,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34c391fbbc7b31b159372766de39ce5c9cc26ebb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,439,502&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|Northstar 7C144]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6605.20090909.PQ3ws/iPhone1,1_3.1_7C144_Restore.ipsw iPhone1,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b7b5f436f81c6f855410e8b44a3d432ccaacd6fc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,536,460&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|Northstar 7D11]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7268.20091008.32pNe/iPhone1,1_3.1.2_7D11_Restore.ipsw iPhone1,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e4a1171542dbbd3093516d9c02047b9f7e143050&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,515,888&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7481.20100202.4orot/iPhone1,1_3.1.3_7E18_Restore.ipsw iPhone1,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;eab23a7f8d2a17cb71046c50fc5f67ec390a3c2b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 238,319,275&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N82ap|iPhone 3G]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A345&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4955.20080710.bgt53/iPhone1,2_2.0_5A347_Restore.ipsw iPhone1,2_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;af9506ca0034e462674f9f59c5406f159eaf9fc1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,957,125&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 01.48.02&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5134.20080729.Q2W3E/iPhone1,2_2.0.1_5B108_Restore.ipsw iPhone1,2_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e81c7ac7e334a3e9d81b3b47894bfaa1ec495482&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 261,224,227&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 02.08.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5241.20080818.t5Fv3/iPhone1,2_2.0.2_5C1_Restore.ipsw iPhone1,2_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;bef7fef954293046420fbcf947379839178a195b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,761,030&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 02.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5198.20080909.K3294/iPhone1,2_2.1_5F136_Restore.ipsw iPhone1,2_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c6957dcbf2a95ccfd6dce374a727b1b7700a9043&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,341,655&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 02.28.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5778.20081120.Aqw4R/iPhone1,2_2.2_5G77_Restore.ipsw iPhone1,2_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f67f8b2b842428bf89456cda0c2d5cf954d111a4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[Ultrasn0w|yellowsn0w]]}}&lt;br /&gt;
| 258,342,348&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 02.30.03&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5828.20090127.aQLi8/iPhone1,2_2.2.1_5H11_Restore.ipsw iPhone1,2_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e0098e6fab5c90b59e067e03ae3ccd4a7cd0f39c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,359,073&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw iPhone1,2_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;94f1fb43de12bff0f168ce690b7e794cc6220ae3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,229,233&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|Kirkwood 7A400]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6972.20090731.Zx3Rr/iPhone1,2_3.0.1_7A400_Restore.ipsw  iPhone1,2_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a148ff39fa4dea499e7a9dd007b63e90c4f56666&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,274,617&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6600.20090909.AwndZ/iPhone1,2_3.1_7C144_Restore.ipsw iPhone1,2_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b3b3c148170b012012278efda9ff5c38282d559&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,361,339&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw iPhone1,2_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b1a6ab2771bb5da372ba75a8fa3e1d72b71359d0&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,340,786&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7468.20100202.pbnrt/iPhone1,2_3.1.3_7E18_Restore.ipsw iPhone1,2_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f5950afca546f93e281ba3cdb08bc0cfed7f0896&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 239,139,281&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7436.20100621.58Yt4/iPhone1,2_4.0_8A293_Restore.ipsw iPhone1,2_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee1eba9281b902d7ff3f24d50f9aebff0df27f92&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 306,274,631&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
'''*'''Jailbreak on 4.0 is only possible with Pwnagetool, as long as it has the older bootroom (iBoot-359.3) and wasn't jailbroken using Spirit. See [[Untethered jailbreak|untethered-jailbreak]]&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6582.20090617.LlI87/iPhone2,1_3.0_7A341_Restore.ipsw iPhone2,1_3.0_7A341_Restore.ipsw] &lt;br /&gt;
| &amp;lt;code&amp;gt;d8534408c8679c830fd0c4e36ef9762c11ef73df&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,292,933&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| Kirkwood 7A400&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6976.20090731.Vgbt5/iPhone2,1_3.0.1_7A400_Restore.ipsw  iPhone2,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;30006575af931e3da0521febace005152cdb8853&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,330,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6609.20090909.mwws4/iPhone2,1_3.1_7C144_Restore.ipsw  iPhone2,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;527c74f87588afa1d69c1e2c08eedc88f113013a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,011,474&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw iPhone2,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6998bb7d9e869b2d89a08853312f9457d070fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,015,700&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw iPhone2,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8cb3775e62c6f72059a962bf891b4e145b965052&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 305,122,343&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw iPhone2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e065245874c73510ceb8fa4bd9388b60d46eb252&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 396,281,280&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|Apex 8A293]]&lt;br /&gt;
| 01.59.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7380.20100621,Vfgb5/iPhone3,1_4.0_8A293_Restore.ipsw iPhone3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;171c2a3995fa149f2a369ccd87f82c5c30da3f88&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 607,363,121&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N45ap|iPod touch (1st generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A100a&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A101a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3882.20070910.N8uyT/iPod1,1_1.1_3A101a_Restore.ipsw iPod1,1_1.1_3A101a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b0d83c7f8b4328174a3f31e0e93f60e591ae143&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,890,186&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A110a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw iPod1,1_1.1.1_3A110a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;84bbc6ea8bf29745195bc9926c1874f7c2a36f32&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,906,686&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw iPod1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;108d8ffe9ea75e61cd5e57170ad388b7fa00d923&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 165,567,897&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-4060.20080115.9Iuh5/iPod1,1_1.1.3_4A93_Restore.ipsw iPod1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8dca23eec69d5ae58fbf3d4a23276e46cbb2e3c6&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,511,411&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4312.20080226.Btu45/iPod1,1_1.1.4_4A102_Restore.ipsw iPod1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c148d1eb1c979bb6434175411d4a372103a4fdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,589&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.5&lt;br /&gt;
| Little Bear 4B1&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4841.20080714.bgy8O/iPod1,1_1.1.5_4B1_Restore.ipsw iPod1,1_1.1.5_4B1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;1b818911316e4248ee01d3ec67f9d39afc3db240&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;ae82798e85f9953b0f4798bad36187cb020c9d22&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 233,409,573&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;a81b6e7af4b85ef436d047f9da57c0f694d8964a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,660,321&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,201,218&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F137&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc7f6d0972927df502ffca47438ca75dcccffaf3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 251,155,156&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;081a7de363230fb38d0ce092cbbe42f2a50c8a5f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,186,851&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc69be9e421bc0630567184506ab771f6b7ef68b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,166,688&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| Kirkwood 7A341&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;dff2bd14931225908a360fb8e60a336f17d2dd6d&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,458,552&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| Northstar 7C145&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c6270780c166db4c9f4f0a7fa945754a1f9fe7e8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,755,862&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| Northstar 7D11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;7367dd9ba58a3b9777307368a0128e696fdfc9a6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 249,780,497&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f897990f19d2f093b35e0813d7d77806404fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,678,189&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch (2nd generation)]]===&lt;br /&gt;
&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;Due to a new bootrom designed to close the [[0x24000 Segment Overflow]], an iPod touch 2G with a model number beginning with &amp;quot;MC&amp;quot; cannot be jailbroken on 4.0.&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.1.1&lt;br /&gt;
| [[Sugar Bowl 5F138]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-5494.20080909.8i9o0/iPod2,1_2.1.1_5F138_Restore.ipsw iPod2,1_2.1.1_5F138_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c3c700be49ad227d1152188e7c1e46b8958fd1e4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 282,083,944&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-5358.20081120.Gtghy/iPod2,1_2.2_5G77a_Restore.ipsw iPod2,1_2.2_5G77a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34a0a489605f34d6cc6c9954edcaaf9a050deedc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,123,491&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5863.20090127.rt56K/iPod2,1_2.2.1_5H11a_Restore.ipsw iPod2,1_2.2.1_5H11a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9af5625ea34acdd8abeb6fce71a72651d0c815d5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,140,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.x is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 270,315,364&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 277,753,989&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 277,794,671&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f4f5c01eda2f811f73167e7d1f82dbeed82367b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 263,275,211&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw iPod2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c026c373bc535496a6f901de2ba37d4a487413bf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 330,278,777&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N18AP|iPod touch (3rd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C145]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-7163.20090909.NtstR/iPod3,1_3.1.1_7C145_Restore.ipsw iPod3,1_3.1.1_7C145_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a3eddbe2cf77858bae7087dc8b2035f0d3097e57&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
&lt;br /&gt;
| 311,702,789&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C146]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7238.20090918.23GhT/iPod3,1_3.1.1_7C146_Restore.ipsw iPod3,1_3.1.1_7C146_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f66a7286b261137f25ddbbd84047f9a7ea181904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,690,768&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7271.20091008.Tch23/iPod3,1_3.1.2_7D11_Restore.ipsw iPod3,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;02dcee28d788d594a2939ab564f4f183af6ccdf2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,740,034&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7473.20100202.4i44t/iPod3,1_3.1.3_7E18_Restore.ipsw iPod3,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;375fd469b18bfc0b74c7cfa5b4d5945197b1d106&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 295,870,806&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apex 8A293&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7381.20100621.AzSP9/iPod3,1_4.0_8A293_Restore.ipsw iPod3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;36fe02b83f87d6305db572e1644841e3cd64cc7d&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes(not publicly available)}}&lt;br /&gt;
| 384,178,784&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[VFDecrypt Keys]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://www.trejan.com/projects/ipod/ Firmware List]&lt;br /&gt;
*[http://pastebin.ca/1209360 A link of interest...]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6779</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Firmware&amp;diff=6779"/>
		<updated>2010-06-29T09:34:58Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPod touch (3rd generation) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the operating system the iPhone/iPod Touch runs. Latest Apple download links can be found [http://www.itunes.com/version here].&lt;br /&gt;
&lt;br /&gt;
==Comparison of firmware versions==&lt;br /&gt;
&lt;br /&gt;
===[[K48ap|iPad]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]] (3G only)&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| [[Wildcat 7B367 (iPad)|Wildcat 7B367]]&lt;br /&gt;
| 06.15.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPad/061-7987.20100403.mjiTr/iPad1,1_3.2_7B367_Restore.ipsw iPad1,1_3.2_7B367_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;172e8297af74b91971a802e6ad137c891f553099&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 478,959,325&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[M68ap|iPhone]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| [[Alpine 1A420]]&lt;br /&gt;
| [http://img399.imageshack.us/i/iphone2go0.jpg/ 03.06.01_G]&lt;br /&gt;
| iphoneproto.zip&lt;br /&gt;
| &amp;lt;code&amp;gt;6e798e906c6590a7521ef89b731569be6d05b3aa&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prototype; [http://forums.macrumors.com/showthread.php?t=627449 macrumors]&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 109,813,128&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| Heavenly 1A543a&lt;br /&gt;
| 03.11.02_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw iPhone1,1_1.0_1A543a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;fb8bb3ee2e9a997affbb97868599f2995c78209c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial US shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,604,348&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| Heavenly 1C25&lt;br /&gt;
| 03.12.06_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3614.20070731.Nt6Y7/iPhone1,1_1.0.1_1C25_Restore.ipsw iPhone1,1_1.0.1_1C25_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a00b85a7a55d62a94be5fbf5effbc42fd63f3097&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,958&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| Heavenly 1C28&lt;br /&gt;
| 03.14.08_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3823.20070821.vormd/iPhone1,1_1.0.2_1C28_Restore.ipsw iPhone1,1_1.0.2_1C28_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f5c0ff1f84a0202b75a55c3fcb362e415334d1e&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 95,627,324&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A109a&lt;br /&gt;
| 04.01.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3883.20070927.In76t/iPhone1,1_1.1.1_3A109a_Restore.ipsw iPhone1,1_1.1.1_3A109a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;d441dd1c71ce18f25d8fc4faa71c1e6eaa02d02c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 159,668,150&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| 04.02.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4037.20071107.5Bghn/iPhone1,1_1.1.2_3B48b_Restore.ipsw iPhone1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;797c02e7d660940e8d9a16cc7229ccf3f67dd8b1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial Euro shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 167,927,501&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| 04.03.13_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4061.20080115.4Fvn7/iPhone1,1_1.1.3_4A93_Restore.ipsw iPhone1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b3dec7580bd00dc4faf28449d9618ef40aeacc96&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,950,551&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| 04.04.05_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4313.20080226.Sw39i/iPhone1,1_1.1.4_4A102_Restore.ipsw iPhone1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;000811bac096011b50ebf6ec1ec2285b62fda4cb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 169,946,442&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw iPhone1,1_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9c510a3cfce789fa5f92a8f763c231bac82ff6d4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 228,768,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5135.20080729.Vfgtr/iPhone1,1_2.0.1_5B108_Restore.ipsw iPhone1,1_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;61de6a2bd6ceddc9ecabad1671b91a59b3824bc4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 254,048,068&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5246.20080818.2V0hO/iPhone1,1_2.0.2_5C1_Restore.ipsw iPhone1,1_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b84b57bea919bdc720287ec908c1378e7d7b5e1b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 253,589,000&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5202.20080909.gkbEj/iPhone1,1_2.1_5F136_Restore.ipsw iPhone1,1_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;353b7745767b85932e14e262e69463620939bdf7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,171,241&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5779.20081120.Pt5yH/iPhone1,1_2.2_5G77_Restore.ipsw iPhone1,1_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;cbfc6ff886ce89868a55547b9fb980dbf92e6418&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,576,980&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5830.20090127.Mmni6/iPhone1,1_2.2.1_5H11_Restore.ipsw iPhone1,1_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;43b95ebe1e51f8d30eae916053396595c08440d3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 257,593,705&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone)|Kirkwood 7A341]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw iPhone1,1_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;2afd3f8ede17390737f508473ed205506a0bd23f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,394,111&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone)|Kirkwood 7A400]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6974.20090731.Cf4Tg/iPhone1,1_3.0.1_7A400_Restore.ipsw  iPhone1,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34c391fbbc7b31b159372766de39ce5c9cc26ebb&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 240,439,502&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone)|Northstar 7C144]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6605.20090909.PQ3ws/iPhone1,1_3.1_7C144_Restore.ipsw iPhone1,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b7b5f436f81c6f855410e8b44a3d432ccaacd6fc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,536,460&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone)|Northstar 7D11]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7268.20091008.32pNe/iPhone1,1_3.1.2_7D11_Restore.ipsw iPhone1,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e4a1171542dbbd3093516d9c02047b9f7e143050&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 252,515,888&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 04.05.04_G&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7481.20100202.4orot/iPhone1,1_3.1.3_7E18_Restore.ipsw iPhone1,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;eab23a7f8d2a17cb71046c50fc5f67ec390a3c2b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 238,319,275&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N82ap|iPhone 3G]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A345&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| 01.45.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4955.20080710.bgt53/iPhone1,2_2.0_5A347_Restore.ipsw iPhone1,2_2.0_5A347_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;af9506ca0034e462674f9f59c5406f159eaf9fc1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,957,125&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| 01.48.02&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5134.20080729.Q2W3E/iPhone1,2_2.0.1_5B108_Restore.ipsw iPhone1,2_2.0.1_5B108_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e81c7ac7e334a3e9d81b3b47894bfaa1ec495482&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 261,224,227&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| 02.08.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5241.20080818.t5Fv3/iPhone1,2_2.0.2_5C1_Restore.ipsw iPhone1,2_2.0.2_5C1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;bef7fef954293046420fbcf947379839178a195b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,761,030&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F136&lt;br /&gt;
| 02.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5198.20080909.K3294/iPhone1,2_2.1_5F136_Restore.ipsw iPhone1,2_2.1_5F136_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c6957dcbf2a95ccfd6dce374a727b1b7700a9043&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,341,655&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| 02.28.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5778.20081120.Aqw4R/iPhone1,2_2.2_5G77_Restore.ipsw iPhone1,2_2.2_5G77_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f67f8b2b842428bf89456cda0c2d5cf954d111a4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[Ultrasn0w|yellowsn0w]]}}&lt;br /&gt;
| 258,342,348&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| 02.30.03&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5828.20090127.aQLi8/iPhone1,2_2.2.1_5H11_Restore.ipsw iPhone1,2_2.2.1_5H11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e0098e6fab5c90b59e067e03ae3ccd4a7cd0f39c&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,359,073&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3G)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw iPhone1,2_3.0_7A341_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;94f1fb43de12bff0f168ce690b7e794cc6220ae3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,229,233&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| [[Kirkwood 7A400 (iPhone 3G)|Kirkwood 7A400]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6972.20090731.Zx3Rr/iPhone1,2_3.0.1_7A400_Restore.ipsw  iPhone1,2_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a148ff39fa4dea499e7a9dd007b63e90c4f56666&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 241,274,617&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3G)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6600.20090909.AwndZ/iPhone1,2_3.1_7C144_Restore.ipsw iPhone1,2_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b3b3c148170b012012278efda9ff5c38282d559&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,361,339&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3G)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw iPhone1,2_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;b1a6ab2771bb5da372ba75a8fa3e1d72b71359d0&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 253,340,786&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7468.20100202.pbnrt/iPhone1,2_3.1.3_7E18_Restore.ipsw iPhone1,2_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f5950afca546f93e281ba3cdb08bc0cfed7f0896&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 239,139,281&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3G)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7436.20100621.58Yt4/iPhone1,2_4.0_8A293_Restore.ipsw iPhone1,2_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;ee1eba9281b902d7ff3f24d50f9aebff0df27f92&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 306,274,631&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N88ap|iPhone 3GS]]===&lt;br /&gt;
'''*'''Jailbreak on 4.0 is only possible with Pwnagetool, as long as it has the older bootroom (iBoot-359.3) and wasn't jailbroken using Spirit. See [[Untethered jailbreak|untethered-jailbreak]]&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPhone 3GS)|Kirkwood 7A341]]&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6582.20090617.LlI87/iPhone2,1_3.0_7A341_Restore.ipsw iPhone2,1_3.0_7A341_Restore.ipsw] &lt;br /&gt;
| &amp;lt;code&amp;gt;d8534408c8679c830fd0c4e36ef9762c11ef73df&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,292,933&lt;br /&gt;
|-&lt;br /&gt;
| 3.0.1&lt;br /&gt;
| Kirkwood 7A400&lt;br /&gt;
| 04.26.08&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6976.20090731.Vgbt5/iPhone2,1_3.0.1_7A400_Restore.ipsw  iPhone2,1_3.0.1_7A400_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;30006575af931e3da0521febace005152cdb8853&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 312,330,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| [[Northstar 7C144 (iPhone 3GS)|Northstar 7C144]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6609.20090909.mwws4/iPhone2,1_3.1_7C144_Restore.ipsw  iPhone2,1_3.1_7C144_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;527c74f87588afa1d69c1e2c08eedc88f113013a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,011,474&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPhone 3GS)|Northstar 7D11]]&lt;br /&gt;
| 05.11.07&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7270.20091008.phn32/iPhone2,1_3.1.2_7D11_Restore.ipsw iPhone2,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;6998bb7d9e869b2d89a08853312f9457d070fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[blacksn0w]] or [[ultrasn0w]]}}&lt;br /&gt;
| 321,015,700&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPhone 3GS)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| 05.12.01&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw iPhone2,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8cb3775e62c6f72059a962bf891b4e145b965052&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 305,122,343&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 3GS)|Apex 8A293]]&lt;br /&gt;
| 05.13.04&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw iPhone2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;e065245874c73510ceb8fa4bd9388b60d46eb252&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes|[[ultrasn0w]]}}&lt;br /&gt;
| 396,281,280&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N90ap|iPhone 4]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;120&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| [[Baseband]]&lt;br /&gt;
!width=&amp;quot;210&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;140&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;95&amp;quot;| Can be [[unlock|unlocked]] OTB?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPhone 4)|Apex 8A293]]&lt;br /&gt;
| 01.59.00&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7380.20100621,Vfgb5/iPhone3,1_4.0_8A293_Restore.ipsw iPhone3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;171c2a3995fa149f2a369ccd87f82c5c30da3f88&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 607,363,121&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N45ap|iPod touch (1st generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A100a&lt;br /&gt;
| No download available&lt;br /&gt;
|&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| Snowbird 3A101a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3882.20070910.N8uyT/iPod1,1_1.1_3A101a_Restore.ipsw iPod1,1_1.1_3A101a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9b0d83c7f8b4328174a3f31e0e93f60e591ae143&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,890,186&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Snowbird 3A110a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw iPod1,1_1.1.1_3A110a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;84bbc6ea8bf29745195bc9926c1874f7c2a36f32&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 157,906,686&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oktoberfest 3B48b&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw iPod1,1_1.1.2_3B48b_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;108d8ffe9ea75e61cd5e57170ad388b7fa00d923&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 165,567,897&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Little Bear 4A93&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-4060.20080115.9Iuh5/iPod1,1_1.1.3_4A93_Restore.ipsw iPod1,1_1.1.3_4A93_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;8dca23eec69d5ae58fbf3d4a23276e46cbb2e3c6&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,511,411&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.4&lt;br /&gt;
| Little Bear 4A102&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4312.20080226.Btu45/iPod1,1_1.1.4_4A102_Restore.ipsw iPod1,1_1.1.4_4A102_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c148d1eb1c979bb6434175411d4a372103a4fdd2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,589&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.5&lt;br /&gt;
| Little Bear 4B1&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4841.20080714.bgy8O/iPod1,1_1.1.5_4B1_Restore.ipsw iPod1,1_1.1.5_4B1_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;1b818911316e4248ee01d3ec67f9d39afc3db240&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 173,519,637&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| Big Bear 5A347&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;ae82798e85f9953b0f4798bad36187cb020c9d22&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 233,409,573&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| Big Bear 5B108&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;a81b6e7af4b85ef436d047f9da57c0f694d8964a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,660,321&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Big Bear 5C1&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 258,201,218&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| Sugar Bowl 5F137&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc7f6d0972927df502ffca47438ca75dcccffaf3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 251,155,156&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;081a7de363230fb38d0ce092cbbe42f2a50c8a5f&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,186,851&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;fc69be9e421bc0630567184506ab771f6b7ef68b&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 260,166,688&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| Kirkwood 7A341&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;dff2bd14931225908a360fb8e60a336f17d2dd6d&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.0+ is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 242,458,552&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| Northstar 7C145&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;c6270780c166db4c9f4f0a7fa945754a1f9fe7e8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 249,755,862&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| Northstar 7D11&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;7367dd9ba58a3b9777307368a0128e696fdfc9a6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 249,780,497&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f897990f19d2f093b35e0813d7d77806404fb1f&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 235,678,189&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N72ap|iPod touch (2nd generation)]]===&lt;br /&gt;
&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;Due to a new bootrom designed to close the [[0x24000 Segment Overflow]], an iPod touch 2G with a model number beginning with &amp;quot;MC&amp;quot; cannot be jailbroken on 4.0.&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 2.1.1&lt;br /&gt;
| [[Sugar Bowl 5F138]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-5494.20080909.8i9o0/iPod2,1_2.1.1_5F138_Restore.ipsw iPod2,1_2.1.1_5F138_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c3c700be49ad227d1152188e7c1e46b8958fd1e4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 282,083,944&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| Timberline 5G77a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/061-5358.20081120.Gtghy/iPod2,1_2.2_5G77a_Restore.ipsw iPod2,1_2.2_5G77a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;34a0a489605f34d6cc6c9954edcaaf9a050deedc&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,123,491&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| SUTimberline 5H11a&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-5863.20090127.rt56K/iPod2,1_2.2.1_5H11a_Restore.ipsw iPod2,1_2.2.1_5H11a_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;9af5625ea34acdd8abeb6fce71a72651d0c815d5&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 291,140,244&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| [[Kirkwood 7A341 (iPod touch 2G)|Kirkwood 7A341]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42&amp;lt;/code&amp;gt;&lt;br /&gt;
| 3.x is a paid upgrade series&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 270,315,364&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 2G)|Northstar 7C145]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 277,753,989&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 2G)|Northstar 7D11]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}} &lt;br /&gt;
| 277,794,671&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| [[SUNorthstarTwo 7E18 (iPod touch 2G)|SUNorthstarTwo 7E18]]&lt;br /&gt;
| Download Link Prohibited&lt;br /&gt;
| &amp;lt;code&amp;gt;5f4f5c01eda2f811f73167e7d1f82dbeed82367b&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 263,275,211&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| [[Apex 8A293 (iPod touch 2G)|Apex 8A293]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw iPod2,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;c026c373bc535496a6f901de2ba37d4a487413bf&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 330,278,777&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===[[N18AP|iPod touch (3rd generation)]]===&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;40&amp;quot;| Version&lt;br /&gt;
!width=&amp;quot;168&amp;quot;| Build&lt;br /&gt;
!width=&amp;quot;200&amp;quot;| IPSW Download URL&lt;br /&gt;
!width=&amp;quot;220&amp;quot;| SHA1 Hash&lt;br /&gt;
!width=&amp;quot;150&amp;quot;| Comments&lt;br /&gt;
!width=&amp;quot;100&amp;quot;| Can be [[jailbreak|jailbroken]]?&lt;br /&gt;
!width=&amp;quot;70&amp;quot;| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C145]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-7163.20090909.NtstR/iPod3,1_3.1.1_7C145_Restore.ipsw iPod3,1_3.1.1_7C145_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;a3eddbe2cf77858bae7087dc8b2035f0d3097e57&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initial shipment.&lt;br /&gt;
| {{yes}}&lt;br /&gt;
&lt;br /&gt;
| 311,702,789&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.1&lt;br /&gt;
| [[Northstar 7C145 (iPod touch 3G)|Northstar 7C146]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7238.20090918.23GhT/iPod3,1_3.1.1_7C146_Restore.ipsw iPod3,1_3.1.1_7C146_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;f66a7286b261137f25ddbbd84047f9a7ea181904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,690,768&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.2&lt;br /&gt;
| [[Northstar 7D11 (iPod touch 3G)|Northstar 7D11]]&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7271.20091008.Tch23/iPod3,1_3.1.2_7D11_Restore.ipsw iPod3,1_3.1.2_7D11_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;02dcee28d788d594a2939ab564f4f183af6ccdf2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 311,740,034&lt;br /&gt;
|-&lt;br /&gt;
| 3.1.3&lt;br /&gt;
| SUNorthstarTwo 7E18&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7473.20100202.4i44t/iPod3,1_3.1.3_7E18_Restore.ipsw iPod3,1_3.1.3_7E18_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;375fd469b18bfc0b74c7cfa5b4d5945197b1d106&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| 295,870,806&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apex 8A293&lt;br /&gt;
| [http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone4/061-7381.20100621.AzSP9/iPod3,1_4.0_8A293_Restore.ipsw iPod3,1_4.0_8A293_Restore.ipsw]&lt;br /&gt;
| &amp;lt;code&amp;gt;36fe02b83f87d6305db572e1644841e3cd64cc7d&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| {{no}}&lt;br /&gt;
| 384,178,784&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[VFDecrypt Keys]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://www.trejan.com/projects/ipod/ Firmware List]&lt;br /&gt;
*[http://pastebin.ca/1209360 A link of interest...]&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=6771</id>
		<title>Jailbreak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=6771"/>
		<updated>2010-06-28T16:22:19Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* iPod Touch 3g */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
The original jailbreak also included modifying the [[AFC|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 ([[AFC|afc2]]) that allows access to the full filesystem.&lt;br /&gt;
&lt;br /&gt;
Modern jailbreaks also include patching the kernel to get around code signing and other restrictions.&lt;br /&gt;
&lt;br /&gt;
==Exploits which were used in order to jailbreak (in chronological order)==&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
* [[Restore Mode]] (iBoot had a command named cp, which had access to the whole filesystem)&lt;br /&gt;
=== 1.1.1 ===&lt;br /&gt;
* [[Symlinks]] (an upgrade jailbreak)&lt;br /&gt;
* [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[Jailbreakme]])&lt;br /&gt;
=== 1.1.2 ===&lt;br /&gt;
* [[Mknod]] (an upgrade jailbreak)&lt;br /&gt;
=== 1.1.3 / 1.1.4 ===&lt;br /&gt;
* [[Soft Upgrade]] (an upgrade jailbreak)&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
==Exploits which are used in order to jailbreak 2.0 and above==&lt;br /&gt;
===iPhone / iPhone 3G / iPod Touch===&lt;br /&gt;
* [[Pwnage]] and [[Pwnage 2.0]] (together)&lt;br /&gt;
&lt;br /&gt;
===iPod Touch 2G===&lt;br /&gt;
* [[ARM7 Go]] (used by tethered jailbreaks)&lt;br /&gt;
* [[0x24000 Segment Overflow]]&lt;br /&gt;
&lt;br /&gt;
===iPhone 3GS===&lt;br /&gt;
* [[iBoot Environment Variable Overflow]] (also uses the [[24kPwn]] exploit to make it untethered)&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] (also uses the [[24kPwn]] exploit to make it untethered)&lt;br /&gt;
&lt;br /&gt;
===iPod Touch 3g===&lt;br /&gt;
*[[usb_control_msg(0x21, 2) Exploit]] (tethered only)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=6770</id>
		<title>Jailbreak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Jailbreak&amp;diff=6770"/>
		<updated>2010-06-28T16:21:47Z</updated>

		<summary type="html">&lt;p&gt;Toddyt1: /* Exploits which are used in order to jailbreak 2.0 and above */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
The original jailbreak also included modifying the [[AFC|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 ([[AFC|afc2]]) that allows access to the full filesystem.&lt;br /&gt;
&lt;br /&gt;
Modern jailbreaks also include patching the kernel to get around code signing and other restrictions.&lt;br /&gt;
&lt;br /&gt;
==Exploits which were used in order to jailbreak (in chronological order)==&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
* [[Restore Mode]] (iBoot had a command named cp, which had access to the whole filesystem)&lt;br /&gt;
=== 1.1.1 ===&lt;br /&gt;
* [[Symlinks]] (an upgrade jailbreak)&lt;br /&gt;
* [[LibTiff | libtiff exploit]] (Adapted from the PSP scene, used by [[Jailbreakme]])&lt;br /&gt;
=== 1.1.2 ===&lt;br /&gt;
* [[Mknod]] (an upgrade jailbreak)&lt;br /&gt;
=== 1.1.3 / 1.1.4 ===&lt;br /&gt;
* [[Soft Upgrade]] (an upgrade jailbreak)&lt;br /&gt;
* [[Ramdisk Hack]]&lt;br /&gt;
&lt;br /&gt;
==Exploits which are used in order to jailbreak 2.0 and above==&lt;br /&gt;
===iPhone / iPhone 3G / iPod Touch===&lt;br /&gt;
* [[Pwnage]] and [[Pwnage 2.0]] (together)&lt;br /&gt;
&lt;br /&gt;
===iPod Touch 2G===&lt;br /&gt;
* [[ARM7 Go]] (used by tethered jailbreaks)&lt;br /&gt;
* [[0x24000 Segment Overflow]]&lt;br /&gt;
&lt;br /&gt;
===iPhone 3GS===&lt;br /&gt;
* [[iBoot Environment Variable Overflow]] (also uses the [[24kPwn]] exploit to make it untethered)&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] (also uses the [[24kPwn]] exploit to make it untethered)&lt;br /&gt;
&lt;br /&gt;
===iPod Touch 3g===&lt;br /&gt;
*[[usb_control_msg(0x21, 2) exploit]] (tethered only)&lt;/div&gt;</summary>
		<author><name>Toddyt1</name></author>
		
	</entry>
</feed>