Extract tokens from FreeOTP backup
Project description
FreeOTP tokens extractor
Backing up FreeOTP
Using adb, create a backup of the app using the following command:
adb backup -f freeotp-backup.ab -apk org.fedorahosted.freeotp
org.fedorahosted.freeotp is the app ID for FreeOTP.
This will ask, on the phone, for a password to encrypt the backup. Proceed with a password.
Manually extracting the backup
The backups are some form of encrypted tar file. Android Backup Extractor can decrypt them.
It's available on the AUR as android-backup-extractor-git.
Use it like so (this command will ask you for the password you just set to decrypt it):
abe unpack freeotp-backup.ab freeotp-backup.tar
Then extract the generated tar file:
$ tar xvf freeotp-backup.tar
apps/org.fedorahosted.freeotp/_manifest
apps/org.fedorahosted.freeotp/sp/tokens.xml
We don't care about the manifest file, so let's look at apps/org.fedorahosted.freeotp/sp/tokens.xml
.
Extract tokens
First, download freeotp_extractor.py
, then you can run python freeotp_extractor.py -h
:
usage: freeotp_extractor.py [-h] [-v] [-o OUTPUT] input
Extract token from FreeOTP
positional arguments:
input File containing XML with tokens (usually 'tokens.xml')
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-o OUTPUT, --output OUTPUT
Give the output file for save tokens
To just have tokens, run python freeotp_extractor.py apps/org.fedorahosted.freeotp/sp/tokens.xml
It will output something like :
Dropbox:example@gmail.com: BQ4F6XX3QOFEXQY5SNFPJZW3
gitlab.com:example@gmail.com: 4FBTY2GE3VK7BMFBFOE3X7CR
Google:example@gmail.com: RK6MVRZCQXFBUMGBKZBF5CAA
Or you can pass a output
parameter to save it into a file python freeotp_extractor.py -o tokens.json apps/org.fedorahosted.freeotp/sp/tokens.xml
tokens.json
:
{
"Dropbox:example@gmail.com":"BQ4F6XX3QOFEXQY5SNFPJZW3",
"gitlab.com:example@gmail.com":"4FBTY2GE3VK7BMFBFOE3X7CR",
"Google:example@gmail.com":"RK6MVRZCQXFBUMGBKZBF5CAA"
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for freeotp_extractor-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 784fb98334d0319f91d7fdacc162b8c3be56de7e9f9bbdd29364f1ec51307617 |
|
MD5 | 4d161ee0e6b928ee2f1c33da8d6f09b0 |
|
BLAKE2b-256 | e4e88f25bab3e18a46b7c29883eed46099bc3e3797df160dec63f55f0b419355 |