Ok, so you might have restored your iphone 3gs using 4.3.3 ofw(official firmware) or cfw(custom firmware) using sn0wbreeze and also it might went into DFU mode loop. NOT recovery. All there could be a black screen.
I had also faced the problem problem with my 3GS. And I fixed it using redsnow beta 0.9.10b3.
Here is the stepwise description of the fix:
- Download Redsnow 0.9.10 beta3
- Download offical 3GS firmware 4.3.3 for 3GS
- Run redsnow beta 0.9.10b3 and click on “Extras” command button
- Put your device on Pwned DFU by clicking on “Pwned DFU” command button
- Create custom firmware preventing baseband update
This will create a custom firmware file that will prevent baseband upgrade in the same folder with “NO_BB” prefix in the file name.
- Start TSS server using Tiny Umbrella and restore the newly created custom firmware using iTunes.
That's all! Now Jailbreak the device using the same version of Red Snow.
Follow the printed instructions. And here you go with your device jailbreaked. :) Now unlock it using ultrasn0w using this guide http://iguidespot.blogspot.com/2012/01/how-to-unlock-iphone-3gs-firmware-433.html.