It is sometimes possible to downgrade iPhone firmware to an earlier version. However, you must have a signature file called SHSH stored on a local drive to be able to complete the downgrade successfully.
It is very normal to accidentally upgrade your iPhone Software or iOS using iTunes while you are syncing. Apple iPhone updates are usually a good thing as they add more features and fix bugs. However, if your iPhone
is jailbroken or unofficially
unlocked, and you accidentally update it, you might have nightmare.
You will loose both your jailbreak and unlock. If you are lucky you might be able to re-jailbreak after the iOS update, but it might be almost impossible to unlock your iPhone as the baseband might also have been updated.
To avoid those types of accidents, it is best to backup your SHSH signature file to a Cydia server or better locally on your
computer. This will allow you to safely downgrade your iPhone firmware to a previous version at any time.
What is SHSH ECID?
SHSH stands for Secure Handling Signal Handling which is a signature file that Apple uses through iTunes to check the status of your iPhone software or firmware.
SHSH ECID (Exclusive Chip ID) is a security measure by Apple to prevent people from downgrading their iPhone firmware, or from restoring their
to an older iOS or firmware.
The SHSH ECID is unique to each
iPhone or iPhone 4 and therefore if iTunes doesn't have the iPhone firmware signature file on the Apple server, it will be impossible for you to do an iPhone restore to a previous iOS with that iPhone.
Apple only keeps the signature file for the latest iOS release and it stops signing older iPhone software. Therefore, you can never restore an iPhone to an older version of the iOS.
The solution is to back up the SHSH signature file on a local
computer. You can tell if your SHSH file is already stored in Cydia server by opening Cydia on your iPhone and looking at the top of the Cydia screen as shown in the picture above. It will tell you which iOS SHSH file you have stored on the Cydia server.
Having the SHSH for those iOS's mean that you can theoretically downgrade your iPhone software to any of those versions by bypassing the Apple server.
Why Downgrade iPhone Firmware?
When you update your firmware through an iOS update, you are guaranteed to loose your jailbreak and all its related data. Anything from Cydia including all your iPhone hacks will be lost.
The only way to return your data is to jailbreak your iPhone again using the new iOS and do a restore from backup using iTunes. The problem is that a jailbreak for the new iOS might not be available at that time. Therefore, your only solution to get your jailbreak back is to try to go back to a previous iOS, and jailbreak your iPhone with that older iOS.
This is why you might need to downgrade iPhone firmware. You would theoretically be able to go back to an easy to jailbreak firmware such as iOS 4.3.
You would simply visit a website called jailbreakme.com using your iPhone Safari. The whole jailbreak process took 5 minutes with iOS 4.3, and no computer or iTunes was required at all. So imagine being able to to go back to iOS 4.3 at any time without any restrictions. You would then be able to easily jailbreak your iPhone and restore you data.
How to Downgrade iPhone Firmware:
Once you have the SHSH signature file backed up on a local computer, you can then start the SHSH server. The server running on your computer will act as an Apple server and feed the SHSH signature file.
Doing this, we are tricking iTunes into thinking it is connected to an Apple server while it is actually connected your local computer.
Therefore, you will be able to downgrade iPhone firmware to any previous version as long as you have that SHSH file stored for that firmware.
TinyUmbrella is a nice tool for both Mac and PC that allows you to manage and feed your SHSH files. Follow the steps below to downgrade your iPhone firmware and use TinyUmbrella as an SHSH file server:
4- Click the option to "Save My SHSH" which will connect to Cydia and download the SHSH file and store it locally on your computer. If the SHSH file is not on Cydia, then Cydia will contact the Apple server and gets it from there for your iDevice.
Notice that you should already have the SHSH files backed up in order to successfully downgrade iPhone firmware. If you don't have the SHSH file, then you will not be able to go back to the previous iOS. If you don't have the SHSH file, then you should get it now for your next iOS and stop.
5- When you are ready to restore and downgrade your iPhone software, start TinyUmbrella, and press the button that says "Start TSS Server" which will start serving the SHSH signature file to iTunes instead of the official Apple server. You must start the TSS server first before you start iTunes in order for this to work.
6- Now you can start iTunes as normal, and press option + restore on
or control + restore on
PC. A window will open asking you to select a firmware file ending with IPSW. Simply select the firmware you downloaded in step 1.
The restore process should go smoothly as it will contact the fake TSS server through TinyUmbrella, and would then allow you to downgrade iPhone firmware.
7- Now you must jailbreak this firmware you just installed. If you have just installed an easy to jailbreak firmware like iOS 4.3, then simply go to jailbreakme.com with your safari browser to proceed with the jailbreak. Otherwise, visit thebigboss website and follow the table to find which tool to use to jailbreak the firmware you have just installed.
Even with TinyUmbrella and with your SHSH file stored on your local drive, this method of downgrading your iPhone firmware is not always guaranteed to work on every iPhone model. And it is not always guaranteed that you can downgrade iPhone firmware from a new one to an older one.
The best protection against all of this is to be careful not to update your iPhone software to a new iOS unless you want to, or you know there is a jailbreak available already for the new iOS.