Update: There is now a GUI application for unlocking the iPhone that simplifies things greatly.
The iPhone Dev Wiki Team just released their eagerly awaited iPhone Activator Tool. I’ve included the whole wiki page below for those who want to read more (since their wiki is probably going to get knocked off line any second now. The first release is for Mac. A Windows version is on it’s way soon.
This release only allows you to activate the iPhone with a valid token, and deactivate it with an invalid token. The activated iPhone can be used as an iPod and a WiFi internet device. It can’t be used with another GSM provider, like T-Mobile. You’ll need to get valid tokens from another source. Have FUN!
Update: They’ve also released a tool that lets you interact with a running iPhone.
Independence Day IPhoneActivatorTool
We have released a proof of concept activation program for the iPhone that works with a valid token (deactivation works with any token). There is significant information in the release note, please click the link above.
From the iPhone Dev Wiki…
Activation process details
Several of us on the development team had “unactivated” (pristine) iPhones and wanted to be able to use them, so we have spent a large effort on the activation and restore processes to date and we feel as if we understand them fairly well now. As with anything, these details are subject to change and “well” is an opinion.
We have proof of concept code that does two things. We are releasing this code under the GPL today this evening, for the Mac, as a universal binary. We are somewhat close to a Windows release but cannot yet deliver the goods due to the arcane way Apple has chosen to port certain items to Windows. We’re trying to emulate these functions but it will take a bit of time (so if you’re on Windows read through the end).
- Phone activation – Using a “known” token (one used to activate an iPhone legitimately), we can activate an iPhone even after deactivation. We can use this “known” token to activate multiple phones, but the token is believed to contain identifying information so we have not provided a token. I want to emphasize that a known token will work on any phone, and once you have a known token you can use wifi, iPod, etc.
iPhoneActivatorTool 1.0 tool [ --help || --deactivate || --activate <activation.plist> ] options: --help Shows this information --state Prints the current phone activation state --deactivate Deactivates the phone --activate <activation.plist> Activates the phone using specified plist
- Phone deactivation – We need no token to perform deactivation.
Both of these mechanisms are effected by calling commands in ITunesMobileDevice_API using MobileDevice.h. We can also query the activation state of the phone through these mechanisms. This work has been reverse engineered by several of us (they can add their own names to this page if they choose credit). The fact that we can emulate these calls with a high degree of certainty is great news for future opening up of the platform. You can absolutely use the iPhone for iPod and Wifi with this patch.
We have, as of yet, been unable to “generate” tokens. So far we have not performed any effort on this and in fact are unclear that we need to, though I imagine some people are performing effort quietly. We certainly know what the format looks like and this information is detailed in the API documentation already published on the Wiki (or will be a few moments after this release).
We believe that now that this effort is done we have achieved a large milestone and we are going to move our focus areas in order to get more work done on other areas (like unlocking the phone).
Jon Lech Johansen has published a patch for iTunes that works in a similar way to our work. His work (based off his own token) “spoofs” the activation directly. You can read about it here (mirror: http://files.photojerk.com/iphone/). Mr. Johansen had a legitimate token before we did, but our approaches were quite similar and i’m rather proud of our efforts.
The program and source are available
If you would like to use the tokens from JHJ’s application on OS X using tool, follow this How-To: http://www.codymays.net/content/2007/07/04/activate-your-iphone-without-att-with-toolszip/
The work of geohot, iZsh, roxfan, vasilki, ixtli, bri3d, and many others were invaluable in assisting this process. I have only included the nicknames of individuals who have given permission – others may be added later.
If you appreciate our work, make sure you signify that by purchasing a copy of the song _Kielbasa_ by Tenacious D from the iTunes Store!
Update: There is now a GUI application for unlocking the iPhone.