[Moto G General] t-bon3:
Pre-requisites:

a) Download and install Motorola Drivers:

http://xdaforums.com/showthread.php?t=2550635

b) Download and extract the stock firmware of your choosing from:

Looks like this link is now broken :'-( http://sbf.droid-developers.org/phone.php?device=14

The firmwares with '_umtsds' in the file name are for the 'dual-sim' versions of the Moto G, it's probably not a good idea to flash these onto single sim phones, or vice-versa.

Edit: More firmwares for international retail and carrier devices can be found here:

http://www.filefactory.com/folder/c6cdedc45a775d27

Edit: The firmware files have been updated most of the firmware archives are now in .tar.gz archives which include Motorola fastboot and flashing scripts for OSX, Linux and Windows.

On windows the .tar.gz archives need to be opened and extracted using a 3rd party archive manager. e.g. 7-zip, or PeaZip, Windows cannot extract these files natively, Linux and OSX can.

I used the retail British firmware (fastboot_falcon_retgb_user_4.3_14.10.0Q3.X-76-LGG-8_54_release-keys-cid7-Retail_GB.tar.gz), extracted to c:\

c) If the firmware file you downloaded is a .xml.zip file then download Motorola Fastboot View attachment 2427667 (attached to this post) and extract the .exe into the same folder as the stock firmware files (the same folder as the .bin and .img files). If your firmware is a .tar.gz file then skip this step.

d) Get ADB (if you don't already have this, I suggest downloading and installing Minimal ADB and Fastboot by shimp208:

https://drive.google.com/file/d/0B1S0LCuXCnnmOWhnUk1ZWVdQakE

Disclaimer:

Follow these instructions at your own risk. If something goes wrong don't blame me!

I have only tested this on a UK Retail Moto G with an unlocked bootloader, however as these are the original stock signed image files from Motorola it should work on all devices.

See notes at the bottom of this post for downgrading from 4.4.2 to 4.3.

Edit: tkm89 reports that he was able to use this guide to restore Stock Retail British firmware on a bootloader locked Tesco-mobile Moto G

Steps to restore stock firmware:

1) Reboot the phone into bootloader mode. There are 2 ways to do this.

I) The 'hardware' way.

a) Unplug the USB cable and power off the phone.

b) Press and hold 'Volume down' then power on the phone.

c) Connect USB cable to your computer.​

II) The 'software' way.

a) Enable developer mode on the Moto G (Settings-> 'About Phone'. Tap 7 times on 'Build Number')

b) Enable USB debugging. (Settings -> 'Developer options' -> 'USB Debugging' -> check)

c) Connect phone to computer via USB, you should see a new ADB device detected and drivers installed.

d) Open "Minimal ADB and Fastboot". Type:

adb reboot-bootloader

You should see the Moto G bootloader screen with the following options:

Normal Powerup
Recovery
Factory
Switch Console [NULL: null]
Barcodes
BP Tools

2) Open a command prompt / terminal (Start -> cmd.exe in Win7) and browse to the folder with the extracted firmware.

In my case:

cd c:\falcon_retgb_user_4.3_14.10.0Q3.X-76-LGG-8_54_release-keys-cid7-Retail_GB

3a) If you downloaded and extracted a firmware in .tar.gz format

In windows, run the 'flashall.bat' script Type:

flashall.bat /eu

The "/eu" switch forces userdata to be erased from the device, this is the same as a factory reset or wipe this is recommended when restoring stock firmware.

In Linux/OSX run the flashall.sh script. Type:

chmod +x flashall.sh
./flashall.sh

Downgrading:

The scripts will fail with an error on downgrading from 4.4.2 to 4.3. Open the script in a text editor (notepad) and delete (or comment) the following:

Lines 89-90 in the flashall.bat file:

CALL :fastboot_flash partition gpt.bin
IF %errorlevel% NEQ 0 EXIT /b 1

Lines 120-121 in the flashall.sh file:

run $fastboot -s "$serial_number" flash partition gpt.bin
if [ $? -ne 0 ]; then echo "ERROR: fastboot failed."; exit -1; fi

3b) If you downloaded and extracted a firmware in .xml.zip format.

Flash each of the partitions in sequence using mfastboot, you need to enter the following commands one-by-one checking that each one returns an [OKAY]

mfastboot flash partition gpt.bin
mfastboot flash motoboot motoboot.img
mfastboot flash logo logo.bin
mfastboot flash boot boot.img
mfastboot flash recovery recovery.img
mfastboot flash system system.img_sparsechunk1
mfastboot flash system system.img_sparsechunk2
mfastboot flash system system.img_sparsechunk3
mfastboot flash modem NON-HLOS.bin
mfastboot erase modemst1
mfastboot erase modemst2
mfastboot flash fsg fsg.mbn
mfastboot erase cache
mfastboot erase userdata
mfastboot reboot

Downgrading:

The 1st command "mfastboot flash partition gpt.bin" will fail on 4.4.2 to 4.3 downgrade. Skip this command if you are downgrading and continue with the other commands, which should work.​

4) Wait, you should now be rebooted into a fully stock Moto G firmware.