Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import sys
  4.  
  5. mod = 0x00cf21ba30a11440580c86f2f6a7b58f2b319bfa7ba1fc035291e981b683f4c09a5aeb824020641817834525b60e51204ea436a6f5c40b1787043181958dc2616d # n
  6. exp = 0x008793cafc63a30eced33c4db2376a36d10e02cbbcbaf56af35400a4dfe39583af1699f38c430d01a54d270cff2004c28943d253563c11309002abf3a61c7f923d # d
  7.  
  8. def main():
  9. if len(sys.argv) != 2:
  10. print("Usage: {} file-to-decrypt".format(sys.argv[0]))
  11. sys.exit(1)
  12. fname = sys.argv[1]
  13. with open(fname, "rb") as inf:
  14. dec = decrypt(inf.read())
  15. with open(fname + ".out", "wb") as outf:
  16. outf.write(dec)
  17. print("written to {}.out".format(fname))
  18.  
  19. def decrypt(inp):
  20. out = b""
  21. for i in range(0, len(inp), 64):
  22. enc = int.from_bytes(inp[i:i+64], "big")
  23. dec = pow(enc, exp, mod)
  24. db = dec.to_bytes(64, byteorder="big").lstrip(b"\x00")
  25. out += db
  26. return out
  27.  
  28. if __name__ == "__main__":
  29. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement