]> xmof Git - DeDRM.git/commitdiff
Make B&N plugin skip invalid hashes in Windows app
authorNoDRM <no_drm123@protonmail.com>
Fri, 18 Mar 2022 16:45:07 +0000 (17:45 +0100)
committerNoDRM <no_drm123@protonmail.com>
Fri, 18 Mar 2022 16:45:07 +0000 (17:45 +0100)
DeDRM_plugin/ignoblekeyWindowsStore.py

index f22d64db887e77a5bab911f47f3c5a52cf0b5cc2..886c7cd4c08e6a3e543a1acdef24135460f759d6 100644 (file)
@@ -13,6 +13,7 @@ https://github.com/noDRM/DeDRM_tools/discussions/9
 import sys, os
 import apsw
 import base64
+import traceback
 try: 
     from Cryptodome.Cipher import AES
     from Cryptodome.Util.Padding import unpad
@@ -56,11 +57,14 @@ def dump_keys(print_result=False):
     decrypted_hashes = []
 
     for pass_hash in activation_xml.findall(".//{http://ns.adobe.com/adept}passHash"):
-        encrypted_cc_hash = base64.b64decode(pass_hash.text)
-        cc_hash = unpad(AES.new(hash_key, AES.MODE_CBC, encrypted_cc_hash[:16]).decrypt(encrypted_cc_hash[16:]), 16)
-        decrypted_hashes.append((base64.b64encode(cc_hash).decode("ascii")))
-        if print_result:
-            print("Nook ccHash is %s" % (base64.b64encode(cc_hash).decode("ascii")))
+        try: 
+            encrypted_cc_hash = base64.b64decode(pass_hash.text)
+            cc_hash = unpad(AES.new(hash_key, AES.MODE_CBC, encrypted_cc_hash[:16]).decrypt(encrypted_cc_hash[16:]), 16)
+            decrypted_hashes.append((base64.b64encode(cc_hash).decode("ascii")))
+            if print_result:
+                print("Nook ccHash is %s" % (base64.b64encode(cc_hash).decode("ascii")))
+        except: 
+            traceback.print_exc()
     
     return decrypted_hashes