[Moto G4 Plus Questions & Answers] echo92:
I'm not aware of a video tutorial, sorry, but I'll do my best to expand on ICrD512's instructions, see if it gets any clearer. Bear in mind this procedure should be done when you have plenty of time, and appears to have worked in some cases. It's worth a shot.

1)Download the files from Google Drive. Un-zip the files (you should get 3 images of particular partitions), then copy them to your ADB folder (where your ADB terminal should be as well) on your computer, which you should have if you've been able to flash stock ROMs. These images you've downloaded should be byte by byte copies of the partitions in question.

2)Download TWRP (either from the official TWRP website https://twrp.me/motorola/motorolamotogplus2016.html or download an unofficial build like shrep's 3.1.1 TWRP https://xdaforums.com/moto-g4-plus/development/recovery-twrp-3-0-2-r3-moto-g4-g4-plus-t3494337 Copy the TWRP image to your ADB folder as well.

3)Reboot your device to the bootloader (power off, then hold down volume down and power keys until you see the bootloader screen). Connect your device to your computer. Open your ADB terminal on your computer and type 'fastboot devices' without quotes to verify your device is communicating.

3a)If communicating, flash TWRP with the command 'fastboot flash recovery <name of TWRP.img>' (without quotes) where <name of TWRP.img> is the full file name of the TWRP image you downloaded in 2). You may wish to type the first few letters of the TWRP image file name and press Tab on your keyboard to auto-complete the file name. Flashing the image will return a message about 'Image not signed or corrupt' - that's normal, as long as you see [OKAY]

3b)Reboot to recovery by tapping on your device's volume key until you see Recovery selected on your device, then press Power to boot. You should now be booting into TWRP.

4) Your device should be booted into TWRP and still attached to your computer. In the ADB terminal, type 'adb devices' to verify communication. You should see your device return its serial number and you should also see your device's storage on your computer.

4a) Though optional, I would make a backup of your device in TWRP, all partitions except cache. Hopefully they include FSG and OEM. You may wish to copy the backup off your device to your computer.

5)If communicating properly, then use the adb push commands in the ADB terminal to 'flash' the partition images to your device that you downloaded in 1) as noted by ICrD512. Be very careful at this stage, you have the power to overwrite other partitions. As noted in the post, use each of the commands one by one, assuming the images are in the ADB folder. Easiest way is to copy paste each of the commands individually to your ADB terminal and execute. Don't flash all three commands together (especially with such a powerful command).

The commands each copy a fresh image to a particular partition, e.g. adb push modem.img /dev/block/mmcblk0p1 copies modem.img to block partition p1 of flash memory mmcblk0 (which should be your internal flash storage - I think mmcblk1 is your SD card).

As far as I know: hw.img contains device identifiers and model variants - effectively telling the system what model you have based on the parameters it's detected (e.g. RAM). In some cases this hw.img is corrupted, so reverting a G4 Plus to a default G4.

modem.img contains your modem/half of your baseband information, with fsg providing the other half. I think they also carry sensor information too.

If you so choose, you can always only push hw.img as directed and see how you get on, if you don't wish to flash fsg or modem. It's possible that a repaired hw partition might work.

6)Once you've flashed the 3 images to their respective partitions, you may wish to boot after 'flashing' to check if the repairs have worked. If so, then follow the direction to flash the stock ROM to fully repair your device.

The ADB push step seems to be the hit and miss part, and may mean we'd have to use an ADB shell and dd commands to try to copy the images (in effect the reverse of how the images were created) but see how you get on with the ADB push commands first. I'm not aware of another method that's less technically complicated - this method is accessing the underlying workings of your device firmware, to attempt to repair the underlying firmware that may have been corrupted by the FRP reset. There's a reason that Motorola/Android don't make this easy to work with...