Sn0wbreeze 3.1.3 for Windows brings jailbreak for iPhone 2G, 3G and iPhone 3GS (older bootroms only) which can preserve your older baseband while upgrading you to the latest iPhone OS 3.1.3 firmware. This means that you can now unlock your iPhone 3G and iPhone 3GS using the current version of ultrasn0w (for 04.26.08 baseband) or blacksn0w (for 05.11.07 baseband) as they both are compatible to work with the respective older baseband versions.
Simply follow the simply step by step guide posted below for unlocking iPhone 3G and iPhone 3GS on 3.1.3 firmware using. iPhone 2G users should follow the guide posted here.
Step 2: Once your iPhone is jailbroken, start “Cydia” on your iPhone and touch on “Manage” tab on the bottom. Now touch on “Sources” as seen in the screenshot below:
Note: T-Mobile users should disable 3G before installing ultrasn0w.
Step 3: Touch on “Edit” and then on “Add”. You will be prompted to enter a url source as seen in the screenshot below. Type “http://repo666.ultrasn0w.com” and touch on “Add Source”.
Cydia will now automatically update your sources by following a series of automated steps.
Step 4: Once the repository has been added successfully, Search for “ultrasn0w” in Cydia and install this application. The latest version 0.92 of this app will automatically unlock your iPhone so that you can use it with any carrier with proper carrier name/logo.
Step 5: Now simply restart your iPhone. Voila! You should now have a fully unlocked iPhone 3G/3GS on firmware 3.1.3.
UPDATE 1: Upgraded to iPhone 3.1.3 accidently? Want to downgrade back to iPhone 3.1.2 and unlock? Follow the guide posted here to downgrade iPhone 3.1.3 baseband 05.12.01 with Fuzzyband.
UPDATE 2: A working exploit for iPhone 3.1.3 05.12.01 Baseband has been found. More info here.
UPDATE 3: Unlock iPhone OS 4.0 for iPhone 3G with ultrasn0w is possible, provided that you have one of those rare 05.08 Bootloader 3G, whose baseband is downgradable to 04.26.08 from 05.13.03 using Fuzzyband. Step by step guide can be found here.