Apple

Simple iPhone 1.1.2 Upgrade Instructions (with Unlock)

Because of the fact that the iPhone is now available in other parts of the world than just the US, Apple has limited the phone functionality of the device to only approved countries. If you are out of those countries, you likely have a phone that will now not run the phone or SMS applications. We are going to fix this by tricking those applications into thinking that your SIM card is from an approved country. We will do this by HEX editing one of the phone’s frameworks and using some Unix symlink magic. While this sounds hard, it is surprisingly easy, but make sure you follow these steps to the letter.

  1. Tap the new SSH icon on your home screen and turn on SSH
  2. Open Installer.app and go to the Sources category and install Community Sources
  3. Go to the System category and install the BSD Subsystem, reboot your iPhone
  4. SFTP into your iPhone using the same steps as in steps 4.4 and 4.5 on the previous page, browse to /System/Library/Frameworks/AppSupport.framework/ and download the file called AppSupport to your desktop computer
  5. For this step, you will need a hex editor. Mac users grab HexEdit, Windows users download UltraEdit (the trial version is fine). Open the AppSupport from the last step in either editor, and use the application’s go to function (Find -> Go To Address in HexEdit, Search -> Goto Line/Page/Bookmark in UltraEdit) to go to address 0xA0AC.
  6. At the end of that line, you will see the letters fr and the numbers 33 - this is the ISO country code and ITU telephone code for France, which we will be replacing with whatever country you want to use the iPhone in. Head here to get your ISO and ITU codes for your country (the last two letters and two or three numbers on each line) and simply overwrite them in your hex editor. For example, I am in Australia, so I would overwrite fr with au and 33 with 61. Similarly, if you were in Hong Kong, you would overwrite fr with hk and 33 with 852. Save the file when you are done
  7. Place the file back on to your iPhone, overwriting the previous version. The reverse of step 4 on this page
  8. Now we need to create a ‘plist’ file of your carrier’s settings and show your phone where it is. Download this sample plist file and open it in any text editor. Look for the line that says <key>CarrierName</key>, and change the line below that where it says Carrier to the name of your carrier (Vodafone in my case). Optionally, you can also find the line that says <key>apn</key>, and enter your carrier’s internet access point, username, and password below it in a similar manner (you can find a list of access points here). Save the file as CarrierName_Country.plist, replacing CarrierName and Country with your carrier name and country
  9. Upload the file to the directory /System/Library/Frameworks/CoreTelephony.framework/Support/ on your iPhone as in step 4 on this page
  10. You now need to find out your carrier’s MCC and MNC numbers (don’t worry about what they mean). You should be able to find them on this Wikipedia page. For example, I use Vodafone in Australia, so my MCC is 505 and my MNC is 03.
  11. SSH to your iPhone by using PuTTY on a Windows PC or the Terminal on a Mac. In PuTTY, use your iPhone’s IP address as the server name, and the username and password exactly as you did for access the device with SFTP. Mac users, open the Terminal and type ssh root@ipaddress, so if you iPhone’s IP address is 10.1.1.5, you would type ssh root@10.1.1.5 and press enter, then type your password.
  12. Once you have SSH access to your iPhone, type these two lines, pressing enter after each
    • cd /System/Library/Frameworks/CoreTelephony.framework/Support/
    • ln -s Carrier_Country.plist MCCMNC (replacing Carrier_Country.plist with the filename you made in step 8, and MCC and MNC with the numbers you found in step 10 without a space in between)

    Close your SSH window

  13. Take the SIM card out of your phone if it is inserted, and restart the phone, then put your SIM back in. If it still doesn’t get service or the phone and SMS applications still crash, you may have to grab another SIM, put it in, then switch back to your regular one. If it still doesn’t work, something has gone wrong, and I would suggest restoring your iPhone with iTunes, redoing the jailbreak instructions, and trying the steps on this page again.

Yes, that was a long process, but you should now be set! Your iPhone should be unlocked, jailbroken, and set up to use your non-approved SIM card. Congratulations!

357 Comments