From a50ce4c3969ef5925a0be8cdee8413fff629019d Mon Sep 17 00:00:00 2001 From: marco Date: Mon, 16 Mar 2020 18:34:22 +0100 Subject: [PATCH] possibile fix mega --- lib/megaserver/client.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/megaserver/client.py b/lib/megaserver/client.py index 239f5158..bdf00e76 100644 --- a/lib/megaserver/client.py +++ b/lib/megaserver/client.py @@ -179,13 +179,12 @@ class Client(object): return self.base64urlencode(self.a32_to_str(a)) def aes_cbc_decrypt(self, data, key): - try: - from Cryptodome.Cipher import AES - decryptor = AES.new(key, AES.MODE_CBC, '\0' * 16) - except: - from Crypto.Cipher import AES - decryptor = AES.new(key, AES.MODE_CBC, '\0' * 16) - return decryptor.decrypt(data) + from lib import pyaes + decryptor = pyaes.AESModeOfOperationCBC(key, '\0' * 16) + decrypted = '' + for p in range(0, len(data), 16): + decrypted += decryptor.decrypt(data[p:p + 16]).replace('\0', '') + return decrypted def aes_cbc_decrypt_a32(self,data, key): return self.str_to_a32(self.aes_cbc_decrypt(self.a32_to_str(data), self.a32_to_str(key)))