Step 1: Make sure you are running the latest version of iTunes.
Step 2: Backup your information (contacts, messages, camera roll, etc…) in iTunes by plugging in your iphone and right clicking on the iphone icon in itunes and clicking backup.
Step 3: Update your firmware to 4.3.1 by downloading this file
Step 4: Restore your information by selecting the backup you saved in step 1.
Step 6: Open redsn0w. Click on browse and find the file you downloaded in step 1. Once redsn0w has finished preparing your jailbreak files, click next.
Step 7: Follow the on-screen steps. Once you have done that, you’re iphone will reboot (it is normal for this to take about 5 min). After your iphone has rebooted, you will find the cydia icon on your springboard.
Locked iphone 3GS on baseband that is unlockable by ultrasn0w:
step 1: Make sure you are running the latest version of iTunes.
Step 3: Download this file (This is your firmware file)
Step 4: open either pwnage tool or sn0wbreeze and follow the on-screen instructions to create your custom 4.3.1 firmware file. (you need to do this in order to preserve your baseband, if you update through itunes or directly through the file you downloaded in step 3, your baseband will have updated and you will not be able to use your iphone as a phone. It would just be a very expensive ipod so BE VERY CAREFUL).
Step 5: Using iTunes, restore your iphone to the custom firmware you just created (in mac, open itunes and press option+restore to choose the fiel you want to update your iphone with, in windows press shift+restore).
Step 6: After your iphone hase been updated, jailbreak your iphone using steps 4 to 7 from the above guide.
Step 7: once jailbroken, open cydia and add these two sources by clicking manage -> sources -> edit -> add. The two sources are http://repo666.ultrasn0w.com/ and http://djayb6.com/ (Add each source alone)
Step 8: install ultrasn0w 1.2
Step 9: click on the http://djayb6.com/ source you just added, and install the file that says iphone 3GS ultrasn0w fixer
Locked iPhone 3GS that is on a baseband that is NOT unlockable by ultrasn0w:
Follow all steps as previous guide however, when jailbreaking using redsn0w, also tick the box that says “Install iPad Baseband”. This will update your iPhone to the iPad baseband (6.15.00) which is unlockable by ultrasn0w. Don’t worry, this is a safe method.
Congratualtions! you just updated your iphone 3GS to 4.3.1