Como fazer o backup do FreeOTP

O FreeOTP junto com muitos outros produtos do mercado são versões Open Source do Authenticator do Google. Eu pessoalmente sempre prefiro soluções deste tipo pois nos permitem mais liberdade.

O próprio FreeOTP possui uma versão baseada no seu código, o FreeOTP+ que facilita este processo que eu vou apresentar aqui para vocês. Não posso usar o FreeOTP+ pois ele não é homologado pela equipe de segurança do meu trabalho, mas, se sua empresa não tem ainda um produto homologado para este fim, aconselho apresentar a equipe a segunda opção.

Mas vamos lá. Ter um backup dos tokens é bem importante. Soluções como o Authy ( indicado pelo Privacytools ) e o Authenticator Plus ( infelizmente já há alguns anos abandonado pelo desenvolvedor ) possuem estas opções de backup e sincronização entre dispositivos de forma nativa.

Feita esta pequena introdução, vamos ao que realmente interessa, o backup.

Como fazer o backup do FreeOTP

O processo é bem simples. Você vai precisar do adb instalado no seu computador. E também, opções de desenvolvedor ativadas no seu Android.

Feito isto, cabo USB ligado ao seu computador e, rode o seguinte comando :

adb backup -f freeotp-backup.ab -apk org.fedorahosted.freeotp

Onde freeotp-backup.ab é o arquivo de backup que será gerado e org.fedorahosted.freeotp é o id do FreeOTP no Android.

Ao rodar o comando, no seu Android irá abrir uma tela pedindo uma senha. Feito isto o backup já estará no seu computador.

Como usar os tokens do backup ?

O backup gerado é um arquivo encriptado. Um tipo de tar. E para extraí-lo temos que usar o Android Backup Extrator . Algumas distruições tem ele nos seus repositórios, mas, como eu uso o Fedora tive que ir direto ao arquivo jar que está disponível no Git.

O artigo que eu linkei vai te dar uma enorme história de como recuperar o trem. Mas … sinceridade ? Não vou entrar em tanto detalhe aqui não.

O processo bem rápido. Baixe o Android Backup Extractor. Com o jar em mãos rode o comando :

java -jar abe.jar unpack freeotp-backup.ab freeotp-backup.tar

Com o arquivo tar nas mãos descompacte-o .

$ tar xvf freeotp-backup.tar    
apps/org.fedorahosted.freeotp/_manifest    
apps/org.fedorahosted.freeotp/sp/tokens.xml    

E finalmente salve o conteúdo abaixo em um arquivo chamado get-token.py ( lembrando de criar o arquivo dentro do diretório apps que foi gerado a partir da descompactação do arquivo .tar).

A partir daí é só rodar o script get-token.py .

$ chmod +x get-token.py    
$ cd apps    
$ ./get-token.py
secret name: token name     
token secret base64: PLYQWM44SMKVTYW5         
comments powered by Disqus