<?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=Prasys</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=Prasys"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Prasys"/>
	<updated>2026-04-27T22:00:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5135</id>
		<title>IBoot (Bootloader)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5135"/>
		<updated>2009-10-14T14:53:49Z</updated>

		<summary type="html">&lt;p&gt;Prasys: /* Revisions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iBoot}}&lt;br /&gt;
This is Apple's stage 2 bootloader for all of the iDevices. It runs what is known as [[Recovery Mode]]. It has an interactive interface which can be used over USB or serial.&lt;br /&gt;
&lt;br /&gt;
== Revisions ==&lt;br /&gt;
* [[iBoot-99]] (1A420 a.k.a. Prototype)&lt;br /&gt;
* [[iBoot-159]] (1.0.x)&lt;br /&gt;
* [[iBoot-204]] (1.1 and 1.1.1 3A109a)&lt;br /&gt;
* [[iBoot-204.0.2]] (1.1.1 3A110a)&lt;br /&gt;
* [[iBoot-204.2.9]] (1.1.2)&lt;br /&gt;
* [[iBoot-204.3.14]] (1.1.3 and 1.1.4)&lt;br /&gt;
* [[iBoot-204.3.16]] (1.1.5)&lt;br /&gt;
* [[iBoot-240.5.1]] (iPod Touch 2G 8gb *mc* model/3.1)&lt;br /&gt;
* [[iBoot-320.20]] (2.0.x)&lt;br /&gt;
* [[iBoot-385.22]] (2.1 and 2.1.1)&lt;br /&gt;
* [[iBoot-385.49]] (2.2 and 2.2.1)&lt;br /&gt;
* [[iBoot-596.24]] (3.0 and 3.0.1)&lt;br /&gt;
* [[iBoot-636.65]] (3.1 and 3.1.1)&lt;br /&gt;
* [[iBoot-636.66]] (3.1.1 7C146)&lt;br /&gt;
&lt;br /&gt;
==Commands used as an exploit vector==&lt;br /&gt;
* Until 2.0 beta 6, the [[diags]] command would jump to code at the address provided to it. For example, if you sent &amp;quot;diags 0x9000000&amp;quot;, it would directly jump to the code at written to 0x9000000. There is now a check that only allows engineering devices to utilize this backdoor.&lt;br /&gt;
* In the iPod Touch 2G firmware 2.1.1 iBoot (iBoot version 385.22), the [[ARM7 Go]] command could be used to run a payload on the ARM7 in the iPod Touch 2G.&lt;br /&gt;
* The [[iBoot Environment Variable Overflow]] exists in 3.0 iBoot, and is being used by [[purplera1n]] and [[redsn0w]] (as of version 0.8) in order to flash the oversized [[LLB]] which utilizes the [[24kPwn]] exploit to the iPhone 3GS. While this exploit is present on iPod Touch 2nd Gen, it is not used in favour of the [[ARM7 Go]] exploit.&lt;br /&gt;
* The [[usb_control_msg(0x21, 2) Exploit]] exists in 3.1 and 3.1.1 iBoot and is being used by [[greenpois0n]] in order to flash the oversized [[LLB]] which utilizes the [[24kPwn]] exploit to the iPhone 3GS and iPod Touch 3G. While this exploit is present on iPod Touch 2nd Gen, it is not used in favour of the [[ARM7 Go]] exploit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OpeniBoot==&lt;br /&gt;
There is an open source version of iBoot being made so that Linux on the iPhone will work. You can check out the source [http://github.com/planetbeing/iphonelinux/tree/master/openiboot here]. It is VERY useful if you are ever reversing iBoot and do not feel like finding out what certain hardware registers are yourself.&lt;br /&gt;
&lt;br /&gt;
==Remappings==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// n88&lt;br /&gt;
0x4FF00000 =&amp;gt; 0x0&lt;br /&gt;
0x40000000 =&amp;gt; 0xC0000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[iBoot (Enums)]]&lt;/div&gt;</summary>
		<author><name>Prasys</name></author>
		
	</entry>
</feed>