[Galaxy S III General] jcspecs:
Disclaimer: I cannot guarantee that this process will work for you as it did for me. If something goes wrong I will do everything I can to help you, but you are responsible. This is a guide for the I9300 international version.

This is an updated version of my original thread for the I9000, It is still a work in progress but please feel free to highlight things that are wrong or could be better.

What you need:

A downloaded firmware (such as these stock firmwares)

Odin. Usually contained in the firmware. (Here otherwise)

USB Cable

Backups

>65% Battery

Start this download now so that by the time backups are complete, the download should be too.

Section 1: Modes

In this guide you will have to put the phone into various modes. This is done through button combinations.

Download Mode: power + volume down + home button. Hold this combination until the phone reboots, once the galaxy s III logo comes up, you can release the buttons.

Recovery Mode: power + volume up + home button. Hold this combination until the phone reboots, once the galaxy s III logo comes up, you can release the buttons.

Section 2: Rooting

First things first, in order to properly backup your phone, it needs to be rooted.

In the backups section there is a method for those that do not wish to have a rooted handset. However, backups using programs with root privileges are much more reliable and effective.

What you need:

CF Root (Here)

Odin

Place the phone into download mode using the button combination.

Start Odin and confirm that the phone has connected:

Extract the CF-Root .zip so that it is in the form of a .tar

Hit the PDA button on odin, browse to where you saved the CF-Root.tar and select open:

Make sure the options section on Odin looks like this:

Hit Start and wait for the flashing process to complete.

Your phone should now be rooted.

Section 3: Backups

A nandroid backup is a full backup of the system, made in recovery mode. This is used to restore the system in the event that something goes wrong and the system will not boot. By default, this backup will be saved to the external SD card if present.

To make a nandroid backup:

Boot the phone into recovery mode.

Use volume buttons to navigate and power button to select.

Select "backup and restore" -> "backup".

Wait for this to finish, then select "Go Back", then "reboot system now".

A backup made with titanium backup can be used to restore all previous apps, settings and content (messages, call logs etc) back onto the phone after new firmware has been flashed.

To make a titanium backup:

Download Titanium Backup from the market.

Go into the phone Settings -> System -> Developer options -> USB debugging. Titanium backup needs this to work.

Run titanium backup and you should get a message about superuser permissions, grant the app permissions. This means it can backup system data, settings etc.

In the top right corner there should a square icon with a tick. Tocuh this to go into batch options.

Run "backup all user apps + system data".

Wait for it to finish

You are now ready to flash new firmware.

If you wish to backup without rooting, I suggest using an array of programs to achieve this, Go Backup, APN Backup, AppMonster. By using these in combination you can most likely achieve a total backup, but it is probably more trouble than rooting, backing up, flashing, restoring then unrooting.

Section 3: Flashing the firmware

Extract Odin and run it. It should look like this:

All the settings above are the settings you need.

In some cases a firmware file will be split into three seperate files (Modem/Phone, CSC and PDA/Code). However, often they will be arranged into one single file.

If the firmware is in one file then select PDA and open the .tar file you extracted from the firmware.zip.

If it is split into more than one file then:

Press the PDA button and select the CODE file.

Press the PHONE button and select the MODEM file.

Press the CSC button and select the CSC file.

Once the firmware is loaded into Odin:

Place phone into download mode.

Connect phone to PC.

Wait for phone to connect to odin.

Flash firmware by pressing start.

Wait for flash to finish.

Once the firmware is installed, you should root your phone so that you can restore backups (refer to section 2).

Once this is done, it is a good idea to do a wipe of the caches so that the install is as clean and smooth as possible.

To do so:

Download super wipe onto your phone from this thread.

Boot into Recovery Mode

Select "install zip from sdcard"

select "choose zip from sdcard" or from "internal sdcard".

navigate to the location of the script, select it, then select "yes".

This will run the wipe script. Once this has run, reboot the phone if it doesn't automatically.

Section 4: Restore

4.1 Start up

Once the phone starts up it should run you through the setup wizard. Go through this process and add gmail account etc.

4.3 Restoring

Restore using titanium backup:

Go to the market and download titanium backup.

As before, make sure USB debugging is enabled.

Touch the icon in the top right corner to go into batch mode.

Navigate to the restore section and choose "restore all apps with data"

Before you start the batch restore, you may wish to remove certain items from your resotre, such as stock apps that will have been updated in the new firmware.

Run the restoration.

If something went wrong and you want to get back to your old firmware then restore using the nandroid backup we made earlier:

Boot into recovery.

Select "backup and restore".

Select "restore"

Choose the appropriate backup to begin the process.

For those that wish to have a non rooted handset, you can follow this procedure to unroot your phone.