| ### Last tested February 7 2014 on a Galaxy S3 (d2att) running Cyanogenmod 11 nightly, with Google Authenticator 2.49. | |
| ### Device with Google Authenticator must have root. | |
| ### Computer requires Android Developer Tools and SQLite 3. | |
| ### Connect your device in USB debugging mode. | |
| $ cd /tmp | |
| $ adb root | |
| $ adb pull /data/data/com.google.android.apps.authenticator2/databases/databases | |
| $ sqlite3 ./databases "select * from accounts" > /Volumes/TRUECRYPT_ENCRYPTED_VOLUME/google_authenticator_backup.txt | |
| $ rm ./databases | |
| ### If you look at the file, you see a pipe-delimited file with entries looking like the following. | |
| ### The X's mark the key. | |
| 1|Google:me@gmail.com|XXXXXXXXXXXXXXXXXXXXXXXX|0|0|0|| | |
| 2|Google:me@domain.org|XXXXXXXXXXXXXXXXXXXXXXXX|0|0|0|Google|Google:me@domain.org | |
| 3|Dropbox:me@gmail.com|XXXXXXXXXXXXXXXXXXXXXXXX|0|0|0|Dropbox|Dropbox:me@gmail.com | |
| ### To restore the keys, you can key them in manually in Google Authenticator: | |
| ### Menu -> Set up account -> Enter provided key. | |
| ### Enter the key exactly as it appears, case sensitive, and choose Time-based. |
EnsarN
commented
Mar 23, 2014
|
Hi there, |
lthown
commented
Aug 6, 2014
|
if you lost your phone and happen to have a titanium backup of your data you might be able to recover it. Otherwise: no. I needed this to go from Google Authenticator to Authy. I wasn't able to do adb root, it said something about can't be done in a production environment. But I was able to use the info to grab the "databases" file using Root Explorer and then pop it over onto a linux box to run the sqllite3 command. |
lee1418
commented
Jan 10, 2015
|
Ok I need help! I have my phone rooted but i don't understand what to do above. I have a samsung s5, I hard reset my phone but my google account restored all my applications including google authenticator but it didn't keep all my keys from the websites. I really need help! Someone explain specifically how to obtain this on a phone that was recently formatted but it still has root. |
unlocomqx
commented
Feb 3, 2015
|
Thank you very much!! |
thouis
commented
Jul 30, 2015
|
If you have python and the 'qrcode' module installed, you can use this to generate QR codes from the sqlite database:
Be sure to treat the qrcode images as secret (remove them when you're done!). |
haridsv
commented
Oct 18, 2016
|
Thanks a lot! |
Mic92
commented
Nov 16, 2016
•
|
to make the python script above working with google authenticator from fdroid issue must be removed #! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3 python3Packages.qrcode
import qrcode
import sqlite3
conn = sqlite3.connect('databases')
c = conn.cursor()
for i, (email, secret) in enumerate(c.execute("SELECT email, secret FROM accounts").fetchall()):
url = 'otpauth://totp/{}?secret={}'.format(email, secret)
print(url)
im = qrcode.make(url)
im.save('{}.png'.format(i)) |
ELChris414
commented
Jun 21, 2017
|
I don't have root and my phone has a locked bootloader. What can I do? There is another app that you can use to extract saves without root. Will that work? |
juancil
commented
Nov 2, 2017
|
Hello, |
jbinto commentedFeb 8, 2014
It's interesting that the length of the keys varies wildly, from 16 to 52 (presumably base64) characters.