fork download
  1. import sys
  2. import base64
  3. from Crypto.Cipher import DES3
  4. from Crypto.Hash import SHA
  5.  
  6. # hardcoded XOR key
  7. KEY = "12150F10111C1A060A1F1B1817160519".decode("hex")
  8.  
  9. def sitelist_xor(xs):
  10. return ''.join(chr(ord(c) ^ ord(KEY[i%16]))for i, c in enumerate(xs))
  11.  
  12. def des3_ecb_decrypt(data):
  13. # hardcoded 3DES key
  14. key = SHA.new(b'<!@#$%^>').digest() + "\x00\x00\x00\x00"
  15. # decrypt
  16. des3 = DES3.new(key, DES3.MODE_ECB, "")
  17. decrypted = des3.decrypt(data)
  18. # quick hack to ignore padding
  19. return decrypted[0:decrypted.find('\x00')] or "<empty>"
  20.  
  21.  
  22. if __name__ == "__main__":
  23.  
  24. # read arg
  25. encrypted_password = base64.b64decode('jWbTyS7BL1Hj7PkO5Di/QhhYmcGj5cOoZ2OkDTrFXsR/abAFPM9B3Q==')
  26. # decrypt
  27. password = des3_ecb_decrypt(sitelist_xor(encrypted_password))
  28. # print out
  29. print("Decrypted password : %s" % password)
  30.  
  31. sys.exit(0)
  32.  
Success #stdin #stdout 0.02s 9716KB
stdin
Standard input is empty
stdout
Decrypted password : MyStrongPassword!