Backing Up Your SHSH Blob(s)
Once you have upgraded the iOS firmware on your iDevice, Apple does not want you to downgrade to an earlier version. The reason? As we discussed in part 1 of this series, jailbreaking often requires that we restore our iDevice to a previous iOS version. Thus, Apple takes steps to make iDevice downgrade as difficult as possible.
We can think of an SHSH blob as a digital signature (SHSH actually means "signature hash") that links your iDevice to a particular iOS firmware version. The SHSH blob serves as a sort of "key" that Apple servers use to authorize the binding of iOS firmware with your iDevice.
The potential problem here is that unless you save the SHSH blob from your current iOS version, you won't be able to downgrade to that version after upgrading your firmware.
As it happens, the TinyUmbrella utility that I asked you to download and install specializes in capturing and storing SHSH blobs. To back up your SHSH blobs, first connect your iDevice and start TinyUmbrella.
Next, select your device in the Connected Devices list and click Save SHSH. That's all there is to it! As you can observe in Figure 5, I saved my iPhone 4 SHSH blobs for iOS 4.2.1, 4.3.3, and 5.1. Thus, I can use TinyUmbrella to downgrade to any of those iOS versions. However, as it stands I am out of luck if, for instance, I want to downgrade to iOS 5.0.1.
Figure 5 Backing up your SHSH blobs with TinyUmbrella
If you need to move your saved blobs to another computer, or if you just want to store them redundantly, use your iDevice in the TinyUmbrella Connected Devices list, navigate to the Advanced tab, and make a note of the Save SSH Directory location.
Copy the entire .shsh folder to the target destination, not individual .shsh files. Figure 6 shows you the appropriate TinyUmbrella option as well as what my saved SHSH blobs look like in the Mac OS X Finder:
Figure 6 Locating your SHSH blob files
As long as you have the appropriate SHSH blob, you shouldn't have a problem downgrading your current iOS firmware version to a previous version. Nonetheless, some users find themselves in a so-called "recovery loop" when they try to downgrade to particular iOS versions.
If this happens to you, or if you want to be prepared should this happen to you, please check out the following resources: