I fear that if I reset my phone to factory defaults I'll never be able to access my Google Account again, since I use the Google Authentication app on it to provide the 2nd step of the verification.
Am I right? Should I remain worried?
There are several ways to address your concerns.
First - you should print the emergency codes. Google has good directions on how to do so here. (reproduced here)
Second - Even without backup codes, you should have supplied your phone number to Google at some point; this allows for you to have a temporary code sent to you in a text message. As shown in the following image:
Thirdly - You can disable 2-step verification while Wiping your phone, and re-enable it again after completion. (This requires you to set everything back up). Google Instruction Page to Disable 2-Step Verification (steps reproduced here)
That's what a factory reset is for - it does wipe all accounts associated with the handset.
You will need to go into your Google Account on your trusted PC to generate a password to use and key that into the Google Account after factory reset.
When you use Gmail on your trusted PC:
Finally
On any Android device, rooted or not:
If you have root rights, you can access the stored credentials of the Google authenticator app in some ways:
Read out the credentials and write them down:
You can later manually add them to the app by providing GMail address and secret from below (yours differs of course).
u0_a37@android:/ $ su.
u0_a37@android:/ $ cd /data/data/*.authenticator2/databases/
u0_a37@android:/ $ sqlite3 databases .dump | grep ' INSERT INTO accounts'.
INSERT INTO accounts VALUES(1,'[email protected]','secret',0,0,0);
Just back it up using Titanium Backup
Just be aware. I reset my phone and had my backup codes but they did not work. After the reset I get looped into the enter google account credentials over and over again. It is best to turn off 2 factor authentication before you reset your phone.