<?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=Thunderball</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=Thunderball"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Thunderball"/>
	<updated>2026-06-19T00:41:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=N72AP&amp;diff=4636</id>
		<title>N72AP</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=N72AP&amp;diff=4636"/>
		<updated>2009-08-13T20:10:03Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPod touch 2G}}&lt;br /&gt;
This is the 2nd Generation [[iPod Touch]].&lt;br /&gt;
&lt;br /&gt;
'''Model''': n72ap&lt;br /&gt;
&lt;br /&gt;
'''Application Processor (OS Chip)''': s5l8720x&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
See the [[S5L8720_(Hardware)]] for hardware details&lt;br /&gt;
&lt;br /&gt;
==Device IDs==&lt;br /&gt;
'''0x1227''' = DFU Mode 2.0 (Basically WTF 2.0 burned into bootrom)&amp;lt;br&amp;gt;&lt;br /&gt;
'''0x1281''' = Recovery Mode 2.0 (iBEC / iBSS / iBoot)&amp;lt;br&amp;gt;&lt;br /&gt;
'''0x1293''' = Normal Mode (comm with iTunes / MobileDev framework)&lt;br /&gt;
&lt;br /&gt;
==Exploits==&lt;br /&gt;
See the [[S5L8720]] page for all known exploits&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=N18AP&amp;diff=4635</id>
		<title>N18AP</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=N18AP&amp;diff=4635"/>
		<updated>2009-08-13T20:07:52Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPod touch 3G}}&lt;br /&gt;
This is the 3rd Generation [[N45ap|iPod Touch]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Model''' (Codename) : Olympic [http://pastie.org/559242]&lt;br /&gt;
&lt;br /&gt;
'''Application Processor (OS Chip)''': unknown&lt;br /&gt;
&lt;br /&gt;
===Wifi Chip===&lt;br /&gt;
[[BCM4329]] Wifi A/B/G/N, Bluetooth, FM Transmit/Receive&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IPhone_Dev_Team&amp;diff=4634</id>
		<title>IPhone Dev Team</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IPhone_Dev_Team&amp;diff=4634"/>
		<updated>2009-08-13T20:03:15Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPhone Dev Team}}&lt;br /&gt;
==Blog==&lt;br /&gt;
[http://blog.iphone-dev.org Dev Team blog]&lt;br /&gt;
&lt;br /&gt;
==Current members== &lt;br /&gt;
asap18, bgm, Bugout, bushing, c1de0x, chris, CPICH, dinopio, Fred_, ghost_000, gray, iZsh, jim–, marcan, MuscleNerd, netkas, np101137, penisbird, planetbeing, pr3d4t0r, pumpkin, pytey, roxfan, saurik, Turbo, w___, wizdaz, Zf&lt;br /&gt;
&lt;br /&gt;
==Previous Members==&lt;br /&gt;
drudge, [[geohot]], gj, kroo, Nate True, NerveGas, sam, Whiterat, [[Zibri]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PwnageTool]]&lt;br /&gt;
* [[pwnage]]&lt;br /&gt;
* [[pwnage 2.0]]&lt;br /&gt;
* [[yellowsn0w]]&lt;br /&gt;
* [[redsn0w]]&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=4633</id>
		<title>IBoot (Bootloader)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=4633"/>
		<updated>2009-08-13T20:01:17Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &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-204.3.14]] (1.1.4)&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;
&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;
&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;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IPhone_Hacking_Presentation_-_History_1.0-1.1.4&amp;diff=4632</id>
		<title>IPhone Hacking Presentation - History 1.0-1.1.4</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IPhone_Hacking_Presentation_-_History_1.0-1.1.4&amp;diff=4632"/>
		<updated>2009-08-13T19:57:48Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPhone Hacking Presentation - History 1.0-1.1.4}}&lt;br /&gt;
&amp;lt;b&amp;gt;This page is currently being further documented.&lt;br /&gt;
&lt;br /&gt;
Check back for the full documentation.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
George Hotz Presentation on &amp;quot;Hacking the iPhone&amp;quot;&lt;br /&gt;
9:30 EST July 17, 2009 irc.osx86.hu #presentation&lt;br /&gt;
http://theiphonewiki.com/wiki/index.php?title=Jailbreakme&lt;br /&gt;
&lt;br /&gt;
The Hackers in the Presentation (alphabetical order):&lt;br /&gt;
- copumpkin&lt;br /&gt;
- geohot&lt;br /&gt;
- kroo&lt;br /&gt;
- lilstevie&lt;br /&gt;
- posixninja&lt;br /&gt;
- westbaer&lt;br /&gt;
&lt;br /&gt;
Geohot began the presentation with a potted history of iPhone hacking.&lt;br /&gt;
&lt;br /&gt;
The history of &amp;quot;jailbreaking&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
At the start:&lt;br /&gt;
   - slide for emergency (before lockdownd patches) &amp;lt;- this is activation&lt;br /&gt;
   - apple generates an activation record when you connect your phone to itunes for the first time&lt;br /&gt;
   - put in tmoble sim card, didnt work..&lt;br /&gt;
   &lt;br /&gt;
Activation record contains:&lt;br /&gt;
   ICCID (sim card)&lt;br /&gt;
   IMEI (baseband)&lt;br /&gt;
   DEVID (UDID, phone/s5l/app processor)&lt;br /&gt;
   &lt;br /&gt;
So, then tried...&lt;br /&gt;
    resending activation record to another phone&lt;br /&gt;
    lockdownd didn't check that record actually matched anything&lt;br /&gt;
    &lt;br /&gt;
    dvd jon wrote a program to spoof activation server, that sends his record and since the lockdownd didnt check that the record matched the iPhones IDs, it worked -&amp;gt; people can now activate&lt;br /&gt;
&lt;br /&gt;
iphone dev folks start reversing itunesmobiledevice.dll / MobileDevice.framework&lt;br /&gt;
  -&amp;gt; AMDeviceActivate (give it an activation record, and it would activate the phone for you)&lt;br /&gt;
&lt;br /&gt;
Through the reversing of the MobileDevice.framework (AFC protocol) it was possible to gain control of the chrooted jailed files in /var/root/media&lt;br /&gt;
&lt;br /&gt;
iTunes uses AFC to send files (music, contacts etc) to the iPhone, inside the /var/mobile/media jail. So the next thing after activation is jailbreak.&lt;br /&gt;
        (&amp;quot;jail&amp;quot; means a chroot jail, more info at: http://en.wikipedia.org/wiki/Chroot, http://docs.freebsd.org/44doc/papers/jail/jail.html )&lt;br /&gt;
&lt;br /&gt;
System Partition mounted at /&lt;br /&gt;
User Partition /var/mobile/&lt;br /&gt;
&lt;br /&gt;
First jailbreak was done by using the cp (copy) command in restore mode, which had access to the whole FS. They overwrote fstab and services.plist, and they added a service called afc2 which shared the whole FS.&lt;br /&gt;
&lt;br /&gt;
We could also take a look at the disk image itself inside an ipsw:&lt;br /&gt;
    unfortunately, the rootfs dmg has encryption that doesn't use the traditional dmg password scheme&lt;br /&gt;
    so we wrote vfdecrypt&lt;br /&gt;
&lt;br /&gt;
So... then we could touch the filesystem all we wanted, but without a toolchain we couldn't do anything useful.&lt;br /&gt;
this is interesting because:&lt;br /&gt;
    mach-o and ARM: never done before outside apple; we needed to write it ourselves (aka watch in awe as nightwatch did it)&lt;br /&gt;
&lt;br /&gt;
this lead to the days of irc://irc.osx86.hu/iphone-uikit&lt;br /&gt;
  mentioned neato things:&lt;br /&gt;
      MobileTerminal, Hello World&lt;br /&gt;
&lt;br /&gt;
George Hotz joined the small group of &amp;quot;iPhone Dev team folks&amp;quot; (#iphone.dev ?ithink?)&lt;br /&gt;
things started becoming secretive, and George Hotz decided to release http://chickenenchiladagrilledstuftburrito.info/u.htm , his &amp;quot;manifesto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Unlocks:&lt;br /&gt;
&lt;br /&gt;
First Unlock:&lt;br /&gt;
   Hardware&lt;br /&gt;
   1. Erase baseband firmware&lt;br /&gt;
   2. Using a hardware test point, pull an address line high, so it thinks it's all erased (fakeblank, more information @ http://www.theiphonewiki.com/wiki/index.php?title=Fakeblank )&lt;br /&gt;
   3. You can send serial payloads and run your own unsigned code, so patch it to be unlocked&lt;br /&gt;
   &lt;br /&gt;
IPSF style unlock:&lt;br /&gt;
  If code uploaded to baseband had an SHA1 hash ending in 00 00 00 00, it would run (due to buggy coding, they only checked the last four bytes), and the bleichenbacher RSA attack allowed fake unlock tokens to be generated server side&lt;br /&gt;
  &lt;br /&gt;
Then there was iUnlock by the Dev-Team, which used -0x400 exploit to unlock.&lt;br /&gt;
&lt;br /&gt;
then along comes 1.1.1:  encryption,&lt;br /&gt;
i got this:&lt;br /&gt;
Restore holes to jailbreak were patched, but this lead to the most simple jailbreak:&lt;br /&gt;
jailbreakme.com / TIFF exploit&lt;br /&gt;
This was taken from the PSP hacking scene, an old version of libtiff had a buffer overflow (found by taviso, firstly exploited by cmw) on one of the metadata tags iirc.&lt;br /&gt;
&lt;br /&gt;
and 1.1.2 comes along, patching the tiff vuln, things start to get more complex:&lt;br /&gt;
    initially we started by just insisting that people downgrade to 1.1.1, then update again&lt;br /&gt;
    this became harder as more phones came preinstalled with 1.1.2, etc.&lt;br /&gt;
    at 1.1.3 (BB version 4.6), this became unbearable...&lt;br /&gt;
    george releases gunlock using the -0x20000 w back extend erase exploit&lt;br /&gt;
    and eventually ZiPhone is released (unsigned ramdisk exploit)&lt;br /&gt;
&lt;br /&gt;
How this works:&lt;br /&gt;
    hit restore, iphone goes into recovery mode (iBoot, bootloader for the s5l proc)&lt;br /&gt;
    commence geohot wall-o-text:&lt;br /&gt;
    your iphone has two major processors, the s5l(which runs the apps, and is targeted by jailbreaks), and the baseband(which runs the phone stuff, and is targeted by unlocks)&lt;br /&gt;
    recovery mode sending a ramdisk and kernel can boot the device no matter whats on nand&lt;br /&gt;
    after the ramdisk boots, it enters restore mode&lt;br /&gt;
    in restore mode, the system dmg(with the OS) is sent&lt;br /&gt;
    the nor is upgraded to have the latest iboot and llb&lt;br /&gt;
    and the baseband is upgraded to have the latest baseband firmware&lt;br /&gt;
    so, imagine being able to write your own ramdisk&lt;br /&gt;
    everything up to user mode was always sig checked&lt;br /&gt;
    including the ramdisk&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
RESOURCES:&lt;br /&gt;
&lt;br /&gt;
Links posted by &amp;quot;the hackers&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) http://nanocr.eu/2007/07/03/iphone-without-att/&lt;br /&gt;
Site: Jon &amp;quot;DVD Jon&amp;quot; Lech Johansen’s blog&lt;br /&gt;
Entry: &amp;quot;iPhone Independence Day&amp;quot;&lt;br /&gt;
Documents Jon's discovery of how to activate a brand new iPhone unofficially.&lt;br /&gt;
Originally posted on Tuesday, July 3rd, 2007&lt;br /&gt;
&lt;br /&gt;
2) http://chickenenchiladagrilledstuftburrito.info/u.htm&lt;br /&gt;
Site: (mirror)&lt;br /&gt;
Entry: George Hotz's &amp;quot;manifesto&amp;quot;&lt;br /&gt;
Originally mirrored on Friday, July 27th, 2007&lt;br /&gt;
&lt;br /&gt;
3) http://theiphonewiki.com/wiki/index.php?title=Minus_0x20000_with_Back_Extend_Erase&lt;br /&gt;
Site: The iPhone Wiki&lt;br /&gt;
Entry: &amp;quot;Minus 0x20000 with Back Extend Erase&amp;quot;&lt;br /&gt;
This is the exploit used to unlock all phones with a 4.6 bootloader.&lt;br /&gt;
Originally posted on Saturday, July 27th 2008&lt;br /&gt;
&lt;br /&gt;
/* Definitions of terms used:&lt;br /&gt;
(links here possibly) */&lt;br /&gt;
Jailbreak: Apple makes it so your device can only use one folder on the phone, jailbreak gets out of that single folder jail and lets you use the entire filesystem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Active Documenters (alphabetical order):&lt;br /&gt;
&lt;br /&gt;
- Izzard &amp;lt;br&amp;gt;&lt;br /&gt;
- Kroo &amp;lt;br&amp;gt;&lt;br /&gt;
- Oranav &amp;lt;br&amp;gt;&lt;br /&gt;
- Veeloc &amp;lt;br&amp;gt;&lt;br /&gt;
- crash-x (only in the beginning)&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_Environment_Variable_Overflow&amp;diff=4631</id>
		<title>IBoot Environment Variable Overflow</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_Environment_Variable_Overflow&amp;diff=4631"/>
		<updated>2009-08-13T19:53:50Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iBoot Environment Variable Overflow}}&lt;br /&gt;
This is an exploit in the iBoot parsing of commands and environment variables.&lt;br /&gt;
&lt;br /&gt;
== Credit ==&lt;br /&gt;
[[User:Geohot|geohot]]&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
This is a heap overflow in 3.0's [[iBoot]]. I'm really tired right now and will write more tomorrow.&lt;br /&gt;
&lt;br /&gt;
My implementation saves the first 8 bytes in overruns(important or phone crashes), and overwrites the first 8 bytes of the '?' environment variable in the ring buffer. When the ring buffer is freed, it attempts to close the ring. In doing so, it changes the command table to have an entry at 0x41000000, where I then(must be done after or else cmd pointer gets overwritten) upload the geohot command. Run it and enjoy.&lt;br /&gt;
&lt;br /&gt;
== Implementation in purplera1n ==&lt;br /&gt;
setenv a bbbbbbbbb1bbbbbbbbb2bbbbbbbbb3bbbbbbbbb4bbbbbbbbb5bbbbbbbbb6bbbbbbbbb7bbbbbbbbb8bbbbbbbbb9bbbbbbbbbAbbbbbbbbbBbbbbbbbbbCbbbbbbbbbDbbbbbbbbbEbbbbbbbbbbbbtbbbbbbbbbubbbbbbbbbvbbbbbbbbbwbbbbbbbbbxbbbbbbbbbybbbbbbbbbzbbbbbbbbbHbbbbbbbbbIbbbbbbbbbJbbbbgeohotbbbbbbbbbLbbbbbbbbbMbbbbbbbbbNbbbbbbbbbObbbbbbbbbPbbbbbbbbbbQbbbbbbbbbRbbbbbbbbbSbbbbbbbbbTbbbbbbbbbUbbbbbbbbbVbbbbbbbbbWbbbbbbb&lt;br /&gt;
&lt;br /&gt;
xxxx $a $a $a $a geohotaaaa \&amp;quot;\x04\x01\&amp;quot; \\ \&amp;quot;\x0c\&amp;quot; \\ \\ \\ \\ \\ \&amp;quot;\x41\x04\xA0\x02\&amp;quot; \\ \\ \\ \\ wwww;echo copyright;echo geohot&lt;br /&gt;
&lt;br /&gt;
[[Category:Exploits]]&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=List_of_iPod_touches&amp;diff=4630</id>
		<title>List of iPod touches</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=List_of_iPod_touches&amp;diff=4630"/>
		<updated>2009-08-13T18:50:31Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPod touch}}&lt;br /&gt;
There are two iPod touch generations at the time of writing.&lt;br /&gt;
&lt;br /&gt;
The first generation is the [[N45ap]]. This model of the iPod touch is the earliest version.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The second generation is the [[N72ap]]. This is the second, re-designed model of the iPod touch with additional features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a full comparison, vist [[Comparison of iPod touch 1G and 2G]].&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IDroid&amp;diff=4586</id>
		<title>IDroid</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IDroid&amp;diff=4586"/>
		<updated>2009-08-11T15:12:30Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iPhoneLinux}}&lt;br /&gt;
[[Image:Openiboot.png|thumb|right|200px|Device running the OpeniBoot console.]]&lt;br /&gt;
[http://iphonelinux.org iPhonelinux] is a project which goals are to port linux on the iPhone and make a Free (free software) OS alternative to the Apple proprietary &amp;quot;[http://en.wikipedia.org/wiki/IPhone_OS iPhone OS]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
iPhonelinux is not actually a hack/exploit neither an unlock, but it is based on the [[Pwnage]] exploit.&lt;br /&gt;
&lt;br /&gt;
There are three steps in the iPhonelinux roadmap : OpeniBoot, linux kernel and long term (GUI, phone...)&lt;br /&gt;
&lt;br /&gt;
== OpeniBoot ==&lt;br /&gt;
The Goals of OpeniBoot is to run low-level code, to have low and critical drivers (nand and nor driver, NVRAM...), debugger and development environment (chainloading, upgrading itself and USB mass storage).&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line thru SSH.&lt;br /&gt;
&lt;br /&gt;
== Long-Term Plans  ==&lt;br /&gt;
Multi-touch driver, Baseband driver, port X server and create an SDK.&lt;br /&gt;
Then have a viable alternative of the iPhone OS.&lt;br /&gt;
&lt;br /&gt;
== Binaries ==&lt;br /&gt;
&lt;br /&gt;
These are utility binaries precompiled on Ubuntu 8.10. They require:&lt;br /&gt;
&lt;br /&gt;
	- libpthread&lt;br /&gt;
	- libncurses&lt;br /&gt;
	- libusb&lt;br /&gt;
	- libreadline&lt;br /&gt;
&lt;br /&gt;
You may elect to build them from source by pulling from&lt;br /&gt;
iphonelinux/openiboot's git repository.&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
BE WARNED THAT THESE STEPS ARE NOT INTENDED FOR NOVICES. YOU ATTEMPT THIS AT&lt;br /&gt;
YOUR OWN RISK. AT THIS TIME, WE CANNOT AFFORD THE EFFORT REQUIRED TO GIVE&lt;br /&gt;
SUPPORT TO NOVICES AND/OR RESCUE THEM FROM THEIR OWN ACTIONS.&lt;br /&gt;
&lt;br /&gt;
Although unlikely, if the installation goes wrong, you may have to perform a&lt;br /&gt;
DFU restore on your iPhone. If you do not know how to do that, you should not&lt;br /&gt;
follow these steps. You should also know how to use iRecovery (or similar) and&lt;br /&gt;
the fsboot command to &amp;quot;kick an iPhone out of recovery mode&amp;quot;. If you do not&lt;br /&gt;
know how to do that, you should not follow these steps.&lt;br /&gt;
&lt;br /&gt;
The installation of openiboot itself is safe, but openiboot has the facility&lt;br /&gt;
to erase device-specific information from your NOR flash. If you did not make&lt;br /&gt;
a backup, and execute the commands necessary to make openiboot erase that&lt;br /&gt;
information, it is gone forever and your device may never boot properly again.&lt;br /&gt;
&lt;br /&gt;
The instructions below will show you how to make such a backup before any&lt;br /&gt;
changes are made.&lt;br /&gt;
&lt;br /&gt;
== Installing OpeniBoot ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
* Having an iPhone (first gen), iPhone 3G or an iPod 1G (the 2G iPod won't work).&amp;lt;br /&amp;gt;&lt;br /&gt;
* Being on 2.x+ to have support IMG3 (the iPhonelinux-demo provides IMG3 files, not IMG2 files).&amp;lt;br /&amp;gt;&lt;br /&gt;
* Being Pwned : Pwnage comes with jailbreak on 2.x+, so If you used Pwnage Tool, QuickPwn or xPwn, you are good.&lt;br /&gt;
* Required libraries (install as a package for Uuntu).:&lt;br /&gt;
** libpthread&lt;br /&gt;
** libncurses&lt;br /&gt;
** libusb&lt;br /&gt;
** libreadline&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
1. Put your iPhone in [[Recovery Mode]].&lt;br /&gt;
&lt;br /&gt;
2. sudo ./loadibec openiboot-2g.img3, or -3g, -ipod, depending on your platform.&lt;br /&gt;
&lt;br /&gt;
3. sudo ./oibc&lt;br /&gt;
&lt;br /&gt;
4. nor_read 0x09000000 0x0 1048576&lt;br /&gt;
&lt;br /&gt;
5. ~norbackup.dump:1048576. This will create a file called norbackup.dump in your current directory. GUARD IT WITH YOUR LIFE.&lt;br /&gt;
&lt;br /&gt;
6. install&lt;br /&gt;
&lt;br /&gt;
7. After 'install' has finished, type in: reboot.&lt;br /&gt;
&lt;br /&gt;
8. You ought to see the openiboot menu.&lt;br /&gt;
&lt;br /&gt;
===See===&lt;br /&gt;
* [[QuickOIB]]&lt;br /&gt;
&lt;br /&gt;
== Booting Linux ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use the Hold button to navigate the menu. Push the Home button&lt;br /&gt;
	when openiboot client is selected.&lt;br /&gt;
 sudo ./oibc&lt;br /&gt;
 !zImage&lt;br /&gt;
 kernel&lt;br /&gt;
 !rootfs.arm.ext2.gz&lt;br /&gt;
 ramdisk 3588&lt;br /&gt;
 boot &amp;quot;console=tty console=ttyUSB root=/dev/ram0 rw&amp;quot;&lt;br /&gt;
 sudo ./linux&lt;br /&gt;
&lt;br /&gt;
You should now get a login prompt. Nothing that's happening will show up on&lt;br /&gt;
the LCD automatically, but you can redirect it to the display with the&lt;br /&gt;
following command:&lt;br /&gt;
&lt;br /&gt;
 sh 2&amp;gt;&amp;amp;1 &amp;gt; /dev/tty0&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
== iPhone Linux Resources ==&lt;br /&gt;
&lt;br /&gt;
- Framebuffer driver&lt;br /&gt;
- Serial driver&lt;br /&gt;
- Serial over USB driver&lt;br /&gt;
- Interrupts, MMU, clock, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OpeniBoot Resources ===&lt;br /&gt;
&lt;br /&gt;
- Read-only support for the NAND&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OpeniBoot Missing Resources ===&lt;br /&gt;
&lt;br /&gt;
- Write support for the NAND&lt;br /&gt;
- Wireless networking&lt;br /&gt;
- Touchscreen&lt;br /&gt;
- Sound&lt;br /&gt;
- Accelerometer&lt;br /&gt;
- Baseband support&lt;br /&gt;
&lt;br /&gt;
===QuickOIB===&lt;br /&gt;
&lt;br /&gt;
[[QuickOIB]] is a tool that allows the user to temporarily install OpeniBoot in a device.&lt;br /&gt;
It was developed by pH and work perfectly with Mac OS X and Ubuntu 8.10&lt;br /&gt;
&lt;br /&gt;
=== Support ===&lt;br /&gt;
&lt;br /&gt;
The current userland we're using, in the interest of expedience, is a Busybox installation created with buildroot, but glibc works fine as well, and we're going to build a more permanent userland solution.&lt;br /&gt;
&lt;br /&gt;
A demonstration video can be seen here: http://www.vimeo.com/2373142&lt;br /&gt;
&lt;br /&gt;
Download here: http://localhostr.com/files/b00133/iphonelinux-demo.tar.gz&lt;br /&gt;
&lt;br /&gt;
Project leader: '''planetbeing'''&lt;br /&gt;
&lt;br /&gt;
Contributors: '''CPICH, cmw, poorlad, ius, saurik'''&lt;br /&gt;
&lt;br /&gt;
If you're experienced with '''hacking/porting Linux''' and especially if you're experienced with porting '''Android''', I'd definitely like to hear from you. Come chill in the ''#iphonelinux'' channel on ''irc.osx86.hu'' . If you're not experienced, and still want to help, you can digg/slashdot this posting to heaven so our little project gets more visibility. Thanks. :)&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=ITunes&amp;diff=4585</id>
		<title>ITunes</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=ITunes&amp;diff=4585"/>
		<updated>2009-08-11T15:10:47Z</updated>

		<summary type="html">&lt;p&gt;Thunderball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iTunes}}&lt;br /&gt;
iTunes is Apple's music and video management software. It also serves as a desktop client for the iTunes Store and handles iPod/iPhone synchronization.&lt;br /&gt;
&lt;br /&gt;
It consists of 3 major components: iTunes itself, QuickTime and Apple Mobile Device Support (AMDS).&lt;br /&gt;
QuickTime is used for audio/video playback and encoding, while AMDS is the component responsible for synchronizing with iPhone/iPod Touch.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X versions ==&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;
!iTunes version&lt;br /&gt;
!AMDS version&lt;br /&gt;
!Download URL&lt;br /&gt;
!SHA-1 hash&lt;br /&gt;
!File size&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|8.0.1.?&lt;br /&gt;
|???&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5553.20081002.kjy65/iTunes801.dmg iTunes801.dmg] (defunct)&lt;br /&gt;
|722f5603bd12808d895cf822f3c4267febc56b74&lt;br /&gt;
|???&lt;br /&gt;
|This was deleted by Apple.&lt;br /&gt;
|-&lt;br /&gt;
|8.0.1.12&lt;br /&gt;
|1.8.5.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5649.20081008.hji9O/iTunes801.dmg iTunes801.dmg]&lt;br /&gt;
|35c736471228e0b47a0fb54a52447ec8ff11681f&lt;br /&gt;
|58,696,603&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2.20&lt;br /&gt;
|1.8.5.13&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5810.20081120.wm3n4/iTunes802.dmg iTunes802.dmg]&lt;br /&gt;
|ad1d027ec850af8c70a3af39eb3c47e1192067df&lt;br /&gt;
|60,559,358&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.1.0.50&lt;br /&gt;
|2.0.5.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5641.20090311.Cfe4r/iTunes81.dmg iTunes81.dmg]&lt;br /&gt;
|6c9ee64741158c9f45417b965b38b01ea3b51af1&lt;br /&gt;
|66,440,133&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.1.1.10&lt;br /&gt;
|2.0.5.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6171.20090406.i98u7/iTunes811.dmg iTunes811.dmg]&lt;br /&gt;
|447933eee85feca7b8a2335e441202794c19b966&lt;br /&gt;
|69,231,745&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.2.0.23&lt;br /&gt;
|2.3.8.0&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6183.20090601.Pldj3/iTunes8.2.dmg iTunes8.2.dmg]&lt;br /&gt;
|a07c4fb0dfd94ba238024cf8d448165da24e5be5&lt;br /&gt;
|81,038,040&lt;br /&gt;
|The first public version to support iPhone OS 3.0&lt;br /&gt;
|-&lt;br /&gt;
|8.2.1.6&lt;br /&gt;
|2.3.8.0&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6715.20090715.cfR54/iTunes8.2.1.dmg iTunes8.2.1.dmg]&lt;br /&gt;
|f6d1e5453b7c2ae9a85fe61a7d0eaf972e4d7266&lt;br /&gt;
|81,050,406&lt;br /&gt;
|Disables syncing with Palm Pre. Does not put signed iBSS/iBEC in temp folder on 3GS restores.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows versions (32-bit) ==&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;
!iTunes version&lt;br /&gt;
!QuickTime version&lt;br /&gt;
!AMDS version&lt;br /&gt;
!Download URL&lt;br /&gt;
!SHA-1 hash&lt;br /&gt;
!File size&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|8.0.0.35&lt;br /&gt;
|7.55.90.70&lt;br /&gt;
|2.1.0.25&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-4746.20080909.Detnz/iTunes8Setup.exe iTunes8Setup.exe]&lt;br /&gt;
|5d4ff8ffbe9feeaed67deb317797c1d71a03c359&lt;br /&gt;
|67,822,888&lt;br /&gt;
|The first public release of 8.0. Introduced many new features, including Genius playlists.&lt;br /&gt;
|-&lt;br /&gt;
|8.0.0.35&lt;br /&gt;
|7.55.90.70&lt;br /&gt;
|2.1.0.25&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5525.20080911.bnj78/iTunes8Setup.exe iTunes8Setup.exe]&lt;br /&gt;
|09bd8dd0b055f1b63205d5c9c9a00e4d42e38a3e&lt;br /&gt;
|67,110,184&lt;br /&gt;
|This version was released only 2 days after the official 8.0 release, supposedly to fix blue screen errors. Also removed device icons for iPhones and iPods.&lt;br /&gt;
|-&lt;br /&gt;
|8.0.1.11&lt;br /&gt;
|7.55.90.70&lt;br /&gt;
|2.1.1.13&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5555.20081002.5Kij7/iTunes801Setup.exe iTunes801Setup.exe]&lt;br /&gt;
|7342c1aa7c458db14c67e8635ee475adcc1d38be&lt;br /&gt;
|67,167,528&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2.20&lt;br /&gt;
|7.55.90.70&lt;br /&gt;
|2.1.2.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5812.20081120.3mv63/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|96113274f450dfe2893805353663b2436161b15a&lt;br /&gt;
|68,756,776&lt;br /&gt;
|CoreFP library was moved from the QuickTime installer into iTunes&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2.20&lt;br /&gt;
|7.60.92.0&lt;br /&gt;
|2.1.2.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5856.20090121.fvgtr/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|50c0e31eda9ab0a5902d2242ba2fd74ef5be7c99&lt;br /&gt;
|69,076,264&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.1.0.51&lt;br /&gt;
|7.60.92.0&lt;br /&gt;
|2.4.0.27&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6166.20090311.znt32/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|562bcc78760c4055f84d53730089a62dfa9c3fcf&lt;br /&gt;
|73,336,104&lt;br /&gt;
|Version 8.1 was notable for significant performance improvements on Windows. Also brought back device icons.&lt;br /&gt;
|-&lt;br /&gt;
|8.1.0.52&lt;br /&gt;
|7.60.92.0&lt;br /&gt;
|2.4.0.27&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6190.20090313.Cf9iK/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|00bd8842cf0f2026cc4590ef434f6846eeca7fa4&lt;br /&gt;
|73,332,008&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.1.1.10&lt;br /&gt;
|7.60.92.0&lt;br /&gt;
|2.4.1.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6172.20090406.Xdcfr/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|cad92e6882b5fb49d710d342f315d7d6293e2b0a&lt;br /&gt;
|74,302,760&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.2.0.23&lt;br /&gt;
|7.62.14.0&lt;br /&gt;
|2.5.0.31&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6184.20090601.Bhyit/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|16f5b1e787b36aece842ea5ae80bfc6bf2b32b19&lt;br /&gt;
|77,690,152&lt;br /&gt;
|The first public version to support iPhone OS 3.0&lt;br /&gt;
|-&lt;br /&gt;
|8.2.0.23&lt;br /&gt;
|7.62.14.0&lt;br /&gt;
|2.5.1.3&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6664.20090608.dfrtg/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|b1fbcba068c32c25d8987b81ce60cc660b90ccd8&lt;br /&gt;
|77,690,152&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.2.1.6&lt;br /&gt;
|7.62.14.0&lt;br /&gt;
|2.5.2.2&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6717.20090715.XsE4R/iTunesSetup.exe iTunesSetup.exe]&lt;br /&gt;
|797da9711caf87d114e2a5b88523fa825753b530&lt;br /&gt;
|77,976,864&lt;br /&gt;
|Disables syncing with Palm Pre. Does not put signed iBSS/iBEC in temp folder on 3GS restores.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows versions (64-bit) ==&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;
!iTunes version&lt;br /&gt;
!QuickTime version&lt;br /&gt;
!AMDS version&lt;br /&gt;
!Download URL&lt;br /&gt;
!SHA-1 hash&lt;br /&gt;
!File size&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2.20&lt;br /&gt;
|7.55.90.70&lt;br /&gt;
|2.1.2.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-5813.20081120.v8d4k/iTunes64Setup.exe iTunes64Setup.exe]&lt;br /&gt;
|3c0de1135a6f7324ff691e99a8fefa385219bb0a&lt;br /&gt;
|69,323,048&lt;br /&gt;
|CoreFP library was moved from the QuickTime installer into iTunes &lt;br /&gt;
|-&lt;br /&gt;
|8.1.0.52&lt;br /&gt;
|7.6.0.92&lt;br /&gt;
|2.4.0.27&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6167.20090311.tnz64/iTunes64Setup.exe iTunes64Setup.exe]&lt;br /&gt;
|fb07309a0196b424ed434be1143f9e8bcd978d62&lt;br /&gt;
|73,855,272&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.1.1.10&lt;br /&gt;
|7.6.0.92&lt;br /&gt;
|2.4.1.7&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6173.20090406.Aidol/iTunes64Setup.exe iTunes64Setup.exe]&lt;br /&gt;
|40a82ba08885bd8797f70b8199df5526f3f2d409&lt;br /&gt;
|74,820,904&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.2.0.23&lt;br /&gt;
|7.6.2.14&lt;br /&gt;
|2.5.0.31&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6185.20060601.Fkje9g/iTunes64Setup.exe iTunes64Setup.exe]&lt;br /&gt;
|b8739f847f2b66835f4f4b542b3308de96d418ed&lt;br /&gt;
|78,721,320&lt;br /&gt;
|The first public version to support iPhone OS 3.0&lt;br /&gt;
|-&lt;br /&gt;
|8.2.1.6&lt;br /&gt;
|7.6.2.14&lt;br /&gt;
|2.5.2.2&lt;br /&gt;
|[http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes8/061-6718.20090715.MJwE3/iTunes64Setup.exe iTunes64Setup.exe]&lt;br /&gt;
|8985afce9ab6d4483c43308cf34e6217e903000a&lt;br /&gt;
|78,999,840&lt;br /&gt;
|Disables syncing with Palm Pre. Does not put signed iBSS/iBEC in temp folder on 3GS restores.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thunderball</name></author>
		
	</entry>
</feed>