Guest User

Untitled

a guest
Oct 18th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. import xml.etree.ElementTree as ET
  2. import json
  3. import sys
  4. import re
  5.  
  6. def load(name):
  7. root = ET.parse(name)
  8. return json.loads(root.findtext('./string'))
  9.  
  10. def normalize(record):
  11. ret = record['name']
  12. if record['accountType'] != 'authenticator':
  13. ret = record['accountType'] + '-' + ret
  14. ret = re.sub(r'[\/\\ ]', '_', ret)
  15. ret = re.sub(':', '-', ret)
  16. return ret
  17.  
  18. def generate(record):
  19. # print(record)
  20. print(f'''echo otpauth://totp/totp-secret?secret={record["decryptedSecret"].upper()} | pass otp insert -e "otp/{normalize(record)}"''')
  21.  
  22. if len(sys.argv) != 2:
  23. print('authy.py xxx.xml')
  24. print('the xml can be obtained from /data/data/com.authy.authy/shared_prefs/com.authy.storage.tokens.authenticator.xml')
  25. raise SystemExit
  26. for i in load(sys.argv[1]):
  27. try:
  28. generate(i)
  29. except:
  30. print(f"echo Fail to handle {i['name']}")
Add Comment
Please, Sign In to add comment