Extract the Sn0wBreeze executable from zip archive.
Connect your iPhone 3GS to the computer and launch iTunes.
Select your iPhone from the list of devices on the left. Create a backup by right-clicking on iPhone name in Devices (iTunes left pane) and choosing Back Up.
Remember that Sn0wBreeze will preserve the baseband (modem) version. If you don't want to preserve (f.e. you don't need unlock), go ahead and update to iOS 5 in iTunes:
If you need unlock skip this and go to Step Two.
If you are already have iOS 5 installed go to Step Two.
Open iTunes. Now hold down Option (Mac)or Shift (Windows) key and click the Restore button.
Navigate to the Pwnage folder on your desktop and select the iOS 5 firmware ipsw. Click the Open button to continue.
After iOS update iTunes might ask if you want to setup your iPhone as a new device or restore from the backup. Ignore this or choose anything. It doesn't matter, since you will restore once again to a custom firmware.
Double click on Sn0wbreeze exe icon to launch the application.
The application will launch. Click Ok button.
You will see the credits. Click Close Credits button.
You will see the main window. Press blue-arrow button.
You will see IPSW selection menu. Click Browse button.
Navigate to folder with downloaded firmware, select it and click Open button.
Sn0wBreeze will start identifying the firmware.
Once the firmware is verified Sn0wBreeze will ask if you have a new bootrom version or an old bootrom version.
Choose Old of your iPhone 3GS device is an old one with old bootrom. Choose New if the bootrom version is new. You can also ask Sn0wBreeze to detect the bootrom version.
Sn0wbreeze will report the device information and firmware version. Check that this corresponds to your device. The screenshot below shows how this looks like for iPhone 3GS.
Press blue-arrow next button.
You will see the choice of 3 options.
Click on Expert Mode and then Blue Arrow.
You will see the menu with General, Custom boot logos, Custom packages, Build IPSW. Some options might be disabled, if not supported with you device or firmware.
Click on General and then next blue arrow.
Here you can enable or disable several options.
Important: Choose Activate only if you need hactivation, if you do not plan to use your device with official carrier.
Click next blue arrow button.
If you have old bootrom, you will be able to choose boot logos.
You will see a windows where you can install custom packages, that will be embedded to your custom firmware.
Click next. You are ready to create custom IPSW. Click Build IPSW and next button.
Wait while IPSW is being built.You can play PamMan game while you're waiting.
Once the custom firmware is ready SnowBreeze will show Done screen:
Press Ok button.
Now you have to follow instructions to put your device into DFU mode.
Please plug your iPhone into the computer and make sure its OFF then click the Start button.
1. Hold down both the Home button and the Power button for 10 seconds.
2. Release the Power button and continue holding the Home button until Sn0wbreeze detects the device.
If you fail to put the device into DFU mode you can start again.
If you have followed the steps correctly, you will get the following message from Snw0breeze:
Close all opened windows of Sn0wbreeze and launch iTunes.
Select your device from the list of devices on the left. Now hold down Shift and click the Restore button.
Navigate to the Desktop folder and select the newly created custom firmware ipsw. The name will be sn0wbreeze_iPhone 3GS-5.0. Click the Open button to continue.
iTunes will now restore the firmware on your iPhone. This can also take up to 10 minutes. Once done you will be rebooted into jailbroken iOS 4.3.3!
After the restore you're done! Your device is jailbroken.
iTunes will ask if you want to setup your iPhone as a new device or restore from the backup. Choose Restore from Backup if you want to preserve your contacts and other information.
Now you need to boot tethered your iPhone 3GS. You will need to do it everytime you restart.
Sn0wBreeze created folder iBooty-for-5.0 on your desktop. Open it.
Choose your device in Select your iDevice option.
Push Start button.
Now you will need to put your device into DFU. Follow the instructions:
1. Prepare to press Home + Power
2. Press Home + Power buttons and hold them for 10 seconds.
3. Release Power, but keep holding Home button for 30 seconds.
You're done. Your iPhone successfully booted tethered.
When your iPhone has restarted you can run Cydia. Let it do all the necessary updates.
To have access to the root file system of your iPhone (via file managers like iFunBox or iPhone Explorer) install application called afc2add in Cydia.
If you need carrier unlock – install ultrasn0w via Cydia (if you do not need carrier unlock skip this step). Ultrasn0w supports iPhone 4 baseband 01.59.00 and iPhone 3G/3GS basebands 04.26.08, 05.11.07, 05.12.01, 05.13.04, 06.15.00.
Go to Manage than click Sources.
If you see repository http://repo666.ultrasn0w.com, go to step 8.
Click Edit button in the top right corner.
Then click Add button in the top left corner.
Type http://repo666.ultrasn0w.com and click Add Source.
Then click Done.
Click on on newly created repository http://repo666.ultrasn0w.com.
Click on ultrasn0w and hit Install button in the top right.