Another important note is to remember that the method only works for those who already have a previously-Jailbroken iPhone 3GS on an old firmware. Users with Out-of-the-box device shouldn't waste their time with this tutorial.
Please backup with iTunes before trying this. Here is how it goes:
- Grab and download the Pwnage Tool 3.1.3 for Mac OS X (At thePirateBay | Alternate)
- Make sure to update to the latest iTunes 9 before attempting this unlock.
- Download the 3.1 Firmware for iPhone 3GS and save it on your desktop.
- Run the Pwnage Tool 3.1.3 and select iPhone 3GS and click next.
- Select the Firmware 3.1 with build iPhone2,1_3.1_7C144 and click next.
- Select 'Yes', click next and then select 'No', now the 'Building IPSW' has started.
- Once completed, select 'Yes' to the prompt and click next.
- Open iTunes and click Restore (while holding Option key) and select the newly created Custom 3.1 IPSW on desktop.
Voila! the iPhone 3GS has now been successfully updated to 3.1 Firmware while preserving the baseband, now follow the steps on this article (starting from step-3) to unlock it with Ultrasnow.
Here is a direct link to download the iPhone 3.1 Firmware for iPhone 3G.
Note: This method will only and only work for the iPhone 3GS. Also please note that at no point are you supposed to 'Update' to a newer firmware in iTunes, only use 'Restore'. The method we used follows the Simple mode in PwnageTool 3.1.3.