Firstly, this only works, if you have saved blobs (shsh) when you originally Jailbroke your iPhone on 4.3.3. Trust me, I know a hell of a lot about Jailbreaking the the iPhone 4.
iPhone 4 onlyWhat you will need is previously saved shsh (Cydia asks you the first time to save blobs - 'The make my life easier button', when you go into into Cydia, it lists all the possible iOS versions you have blobs for). If you can't remember, then try this anyway....
Check you have saved blobs with Tiny Umbrella (see link below). This check is only necessary if you are unsure if you have saved blobs from a previous Jailbreak procedure.There is also a RESTORE 4.3.5 at the very bottom if you are having trouble downgrading to 4.3.3.
What you need - Ingredients - For Both Methods1. Download
Tiny Umbrella from -
http://thefirmwareumbrella.blogspot.com/2. Download
Fix Recovery from -
http://thefirmwareumbrella.blogspot.com/3. Download
zlib1.dll from -
http://www.dll-files.com/zlib1.zip?0WDiS0aEmV4. Download
iOS 4.3.3 from -
http://appldnld.apple.com/iPhone4/041-1011.20110503.q7fGc/iPhone3,1_4.3.3_8J2_Restore.ipsw5. Make sure you have the latest
iTunes from -
https://www.apple.com/itunes/6. Download
Sn0wbreeze v2.7.3 from
http://ih8sn0w.com/7. Not needed, as its within Sn0wbreeze, but hey...
iReb from
http://ih8sn0w.com/
When you have the ingredients;
Method 1 - Using standard default iOS 4.3.3[/size][/u]
1. Start Tiny Umbrella. If you have any blobs (shsh) saved, it will tell you, go to the Log tab.
You need to have Java installed for it to work, but most people do, that's why its not on the ingredients list.
As you can see from the image, it says Tiny Umbrella's TSS server is NOT running. Click the "Start TSS Server" button. You may need to disable your firewall for it to work. You should now see the below image.

2. Put phone into DFU mode (black screen) whilst the iPhone is
ON; by holding both the Home Button and the Sleep Button, let go of the Sleep Button when the screen goes blank, continue to hold the Home Button for another 5-10 seconds.
Tiny Umbrella will see it in the Log tab, if you open it up. You should have a blank/black screen. If you have trouble doing this, there are apps that can do this for you (Recboot and others).
3. Open iTunes, it should immediately tell you it has recognised a iPhone in Recovery mode. This is good

4. Now on your PC keyboard, hold down the "SHIFT" key and click "Restore" in iTunes, so you get this image, then navigate to where you downloaded the 4.3.3 software (see image). The firmware, should be in IPSW format!

5. iTunes, will extract the firmware, and then verify it. You can get a potential error, but you shouldn't, unless you have been playing with this before

6. When the restore has finished, you will get a 1016 error (or similar), and be stuck in a Recovery loop, with the iTunes logo on your iPhone screen. Now you need to load up "Fix Recovery". When you extract Fix Recovery, place the zlib1.dll in the folder (directory).
7. Open Fix Recovery, with your iPhone still connected of course. You will see some code start on your iPhone. Don't worry, this is normal.....

8. Your iPhone should reboot as normal, with 4.3.3 installed.
9. On your iPhone (unplug from PC now), open safari and go to http:www.jailbreakme.com and tap the buttons.....

10.
JOB DONE
If your iPhone does not get the iTunes recovery loop, yet stays on a black screen, then you have just BRICKED your iPhone...JOKE!!!!! PLEASE READ THE RESTORE BACK TO 4.3.5 BELOW[/b]
Method 2 - Using custom firmware[/size][/u]
1. Open Tiny Umbrella and start TSS server and then open up Snowbreeze 2.7.3, to get this image:

2. Drag your 4.3.3 IPSW firmware into the Sn0wbreeze window. Wait for Sn0wbreeze to verify the IPSW:

3. Click the Next button once the correct iDevice has been recognised:

4. Now select your options, see images below...choose whichever is applicable to you...if you have no idea what you are doing, then just select the SIMPLE mode:

5. Then select the General button, all these options are
OPTIONAL! Pick what you want, then click NEXT.

6. Wait whilst Sn0wbreeze makes your cooks your new firmware.......

7. When it's done the custom IPSW will now be on your desktop.

8. Put phone into DFU mode (black screen) whilst the iPhone is
ON; by holding both the Home Button and the Sleep Button, let go of the Sleep Button when the screen goes blank (around 10 seconds), continue to hold the Home Button for another 5-10 seconds.
Tiny Umbrella will see it in the Log tab, if you open it up. You should have a blank/black screen. If you have trouble doing this, there are apps that can do this for you (Recboot and others).
9. Sn0wbreeze will detect the iPhone in DFU mode and immediately put in in a 'pwned DFU stated'.


10. Close Sn0wbreeze once iPhone has been 'pwned DFU'. Open iTunes, it should immediately tell you it has recognised a iPhone in Recovery mode. This is good

11. Now on your PC keyboard, hold down the "SHIFT" key and click "Restore" in iTunes, select the 4.3.3 custom firmware from your desktop that you just created with Sn0wbreeze.
12. iTunes, will extract the firmware, and then verify it, then proceed to install 4.3.3 to your iPhone. When it is finished, your iPhone will boot and you will have a Jailbroken iPhone.
13.
Job Done
Restore Back to 4.3.5 - The quick and error free way!!It will be a case that you didn't save your blobs (shsh) when you first used Cydia, and your iPhone is just dead in appearance, black screen, and you cant do anything with it.
You will now have to download 4.3.5 and restore from that, but to do that you will need to do the following.....1. Download 4.3.5 from -
http://appldnld.apple.com/iPhone4/041-1966.20110721.V3Ufe/iPhone3,1_4.3.5_8L1_Restore.ipsw2. Stop Tiny Umbrella TSS server, and close the app (if you have it running).
3. Go to C:\Windows\System32\drivers\etc on your PC and delete the "HOSTS" file. Trust me!!
4. Open iTunes, and do the same as before, hold "SHIFT" on your PC keyboard, and click "Restore" in iTunes. Point it to the 4.3.5 firmware you just downloaded.
5.
Job Done