This is gonna be a long read but it will surely enlighten you on how Firmware Umbrella works.
The Firmware Umbrella aka TinyUmbrella - semaphore
Table of Contents
BACKGROUND
==========
In July 2009 Apple released the iPhone 3GS. This device has a special bootrom that checks the firmware that iTunes tries to restore to the device. The iPhone 3GS bootrom requires that iTunes modify the images located inside the IPSW file and add a special signature to each one of the images in the IPSW. This signature is obtainable ONLY from Apple.
Apple's server signs firmware SHSH requests made from iTunes during the 'Verifying firmware…' phase of a restore. If you are trying to restore a firmware that Apple is no longer signing, you will receive a 30XX error from iTunes and you will not be able to restore that firmware version to your device. /Period/. The ONLY way you can restore that firmware is to point to Cydia via your hosts file OR run TinyUmbrella and use the SHSH files you have saved /previously/. I cannot emphasize this enough.
***ONCE APPLE HAS STOPPED SIGNING FIRMWARE SHSH REQUESTS FOR A PARTICULAR FIRMWARE VERSION THERE IS NO WAY TO GET YOUR SHSH FOR THAT PARTICULAR VERSION.
As an example, Apple stopped signing firmware 3.1.2 SHSH requests WAY back on Feb 04, 2010. What this means is that if you did not
1. jailbreak your device before then AND run Cydia AND allow Cydia to 'Make your life easier'
or
2. Use Umbrella to save your SHSH for 3.1.2 BEFORE Feb 04, 2010
YOU cannot restore your device to 3.1.2 no matter what.
This is why it is so important to save your SHSH files.
In September 2009 Jay Freeman aka saurik made an excellent post on his blog (
www.saurik.com/id/12). This post talks about caching the signatures that Apple signs to allow you to restore your device to the firmware you desire even after Apple has decided to stop signing that particular version. See, Apple's plan was to control when you could restore a firmware version to your iPhone 3GS or iPod Touch.
Jay's post immediately led to my creation of The Firmware Umbrella (
thefirmwareumbrella.blogspot.com). I wrote an application that allows you to save the SHSH files that saurik had mentioned. The difference is that umbrella allowed you to save the files on your personal computer. Eventually I released a companion application called TinyTSS which would use those files and allow you to perform the restore locally as well.
Over time, TinyTSS and Umbrella have evolved and eventually merged into a single application: TinyUmbrella.
What's the point of TinyUmbrella if we have Cydia?
Cydia requires you to be jailbroken before you can run it. So how can you click the 'Make my life easier' button to have Cydia save your SHSH IF you cannot get to the application? The answer? You cannot.
When the iPad came out in April 2010 there was no jailbreak publicly available for the device. Also, there were rumors that Apple may close some security holes and release a firmware update. The ONLY way those individuals could get their SHSH files saved was to use TinyUmbrella. TinyUmbrella has the following advantages in this situation:
1. Device does NOT need to be Jailbroken in order to save SHSH
2. It does not matter what firmware version is on the device TinyUmbrella will get the currently signed firmware by default.
3. TinyUmbrella saves the file locally AND sends the request to Cydia so Cydia will have the SHSH as well.
4. If Cydia's TSS server is down, your only option will be to use TinyUmbrella for restoring through iTunes.
System Requirements
-WIndows XP, Windows 7 (32 and 64 bit), Windows Vista (32 and 64 bit), OSX 10.6.X, 10.5.X
-Java: Windows (1.6+ 32 bit ONLY 64bit java will not work on windows!!!) Mac: (1.6+) Snow Leopard ships with this, Leopard users may have to update
-iTunes: Tested on 9.0.x, 9.1.x, 9.2 (32 bit only) I have not tested and don't support Windows 64 bit iTunes.
-Administrator privileges - you MUST be able to run the application as Administrator for both windows and mac
USAGE
Windows: Run the executable. When you plug in your device, TinyUmbrella should detect it and you'll see it in the console

When it asks for administrator privileges it is because I run a service on port 80 and I make changes to your 'hosts' file.
Mac: COPY THE FILE OUT OF THE DMG - DO NOT RUN THE APP FROM THE DMG!!! Enter your administrator password (you will only be asked for this once) and when you plug in your device, TinyUmbrella should detect it and you'll see it in the console
Save My SHSH: This will send the request to save your SHSH file.
Start TSS Server: This will start the local TSS server to be used to restore your device via iTunes using your saved SHSH files.
Display SHSH: This will show you the saved SHSH files that TinyUmbrella has ready to serve through the TSS server.
Kick Device Out of Recovery: When you have a device that is in "Recovery Loop" there is a chance that all you need to do is set the auto-boot flag to true and reboot the device. (iRecovery does this). If you press this button WHEN A RESTORE IS IN PROGRESS YOU WILL BE SORRY. Only use it if you are sure that the restore is finished ie you already got a 10XX error. This button will kick your iPhone4 out of the error 1004 and put you at the activation screen.
Administrator Options: You should leave this alone for most cases.
ECID: This is the ecid detected by TinyUmbrella for the device detected.
Device/Version: This is the device / version to request SHSH signatures for.
Request From: This is the place to send the request to. Sending the request to Cydia will save them there as well. Umbrella requests SHSHs from the location in this box. HINT: Selecting Cydia with a particular firmware version is a good way to see if Cydia has your SHSH on-file.
If you have .shsh files saved from previous versions of Umbrella, you can drag and drop those files ONTO the TinyUmbrella window. This will copy the files to the .shsh saved directory for you.
Notes:
If you are getting Winsock errors or jvm_bind errors, you may have an anti virus / firewall issue that is preventing TinyUmbrella from making the necessary connections to do what it needs to do. Here are some things I do that may be 'questionable' in the anti virus / firewall's eyes:
• Load an external library (itunes mobile device)
• Edit/Modify your etc/hosts file
• Backup your original etc/hosts file
• Start a service on port 80 and accept connections on that port
• Save files to your $HOME/.shsh or %HOME%\.shsh
These actions could trigger alerts by your anti virus software but are necessary to trick iTunes when restoring.
If you have FileVault enabled, you may run into issues saving your SHSH file.
If you have an iPhone4 it MUST BE CONNECTED IN ORDER TO SAVE YOUR SHSH!! With ALL other devices all you need is the ECID to save your SHSH.
Your files are saved in:
MAC:
/Users/<your username>/.shsh
ex: /Users/semaphore/.shsh
WINDOWS XP:
<MAIN DRIVE>:\Documents and Settings\<username>\.shsh
ex: C:\Documents and Settings\semaphore\.shsh
WINDOWS 7:
<MAIN DRIVE>:\Users\<username>\.shsh
ex: C:\Users\semaphore\.shsh
Source:
thefirmwareumbrella.blogspot.com/