Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
-
Export the QR codes from "Google Authenticator" app
-
Read QR codes with QR code reader
-
Save the captured QR codes in a text file. Save each QR code on a new line. (The captured QR codes look like
otpauth-migration://offline?data=...
) -
Call this script with the file as input:
python extract_otp_secret_keys.py -q example_export.txt
The protobuf package of Google for proto3 is required for running this script.
pip install protobuf
For printing QR codes, the qrcode module is required
pip install qrcode
The export QR code of "Google Authenticator" contains the URL otpauth-migration://offline?data=...
.
The data parameter is a base64 encoded proto3 message (Google Protocol Buffers).
Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition):
protoc --python_out=generated_python google_auth.proto
- Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial
- Template code: beemdevelopment/Aegis#406