This guide provides instruction on how to jailbreak and unlock the iPhone 3GS (old bootrom) firmware 4.0 using Sn0wbreeze 1.6.1 by the ih8sn0w.

If you are on firmware 3.1.3 and jailbroken with Spirit you can not go directly to jailbroken 4.0. If your iPhone 3GS has the new bootrom you can not currently jailbreak 4.0. You can figure out what bootrom you have by running f0recast, if it says Tethered Yes then you can not currently jailbreak 4.0.

You need to be on 3.1.2 firmware and jailbroken. If you need to downgrade back down to 3.1.2 make sure you have you SHSHs on file in Cydia for 3.1.2 and then follow this guide. Afterwords simply run blackra1n, edit your hosts file back to normal, and you'll be ready to follow this guide.

If you are on 3.1.3 or 4.0 and can't downgrade to 3.1.2 because you don't have your SHSHs on file you currently can't jailbreak your iPhone 3GS to 4.0.

Now that you're on 3.1.2 jailbroken we're ready to start jailbreaking to 4.0!

Lets first download everything needed.
iPhone 3GS 4.0 firmware
Sn0wbreeze 1.6.1

Launch Sn0wbreeze. Click OK.

Click the arrow.