Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import xml.etree.ElementTree as ET
- import json
- import sys
- import re
- def load(name):
- root = ET.parse(name)
- return json.loads(root.findtext('./string'))
- def normalize(record):
- ret = record['name']
- if record['accountType'] != 'authenticator':
- ret = record['accountType'] + '-' + ret
- ret = re.sub(r'[\/\\ ]', '_', ret)
- ret = re.sub(':', '-', ret)
- return ret
- def generate(record):
- # print(record)
- print(f'''echo otpauth://totp/totp-secret?secret={record["decryptedSecret"].upper()} | pass otp insert -e "otp/{normalize(record)}"''')
- if len(sys.argv) != 2:
- print('authy.py xxx.xml')
- print('the xml can be obtained from /data/data/com.authy.authy/shared_prefs/com.authy.storage.tokens.authenticator.xml')
- raise SystemExit
- for i in load(sys.argv[1]):
- try:
- generate(i)
- except:
- print(f"echo Fail to handle {i['name']}")
Add Comment
Please, Sign In to add comment