diff --git a/DeDRM_plugin/ion.py b/DeDRM_plugin/ion.py index 9d9e49c5..36c542ee 100644 --- a/DeDRM_plugin/ion.py +++ b/DeDRM_plugin/ion.py @@ -13,6 +13,7 @@ Copyright © 2013-2020 Apprentice Harper et al. """ +from __future__ import annotations import collections import hashlib @@ -1345,7 +1346,7 @@ def decryptvoucher(self): process_V4648(shared), process_V5683(shared)] decrypted=False - ex=None + lastexception: Exception | None = None for sharedsecret in sharedsecrets: key = hmac.new(sharedsecret, b"PIDv3", digestmod=hashlib.sha256).digest() aes = AES.new(key[:32], AES.MODE_CBC, self.cipheriv[:16]) @@ -1362,9 +1363,10 @@ def decryptvoucher(self): print("Decryption succeeded") break except Exception as ex: + lastexception = ex print("Decryption failed, trying next fallback ") if not decrypted: - raise ex + raise lastexception self.drmkey.stepin() while self.drmkey.hasnext():