]> xmof Git - DeDRM.git/commitdiff
More Py2 fixes
authorNoDRM <no_drm123@protonmail.com>
Thu, 3 Aug 2023 18:14:33 +0000 (20:14 +0200)
committerNoDRM <no_drm123@protonmail.com>
Thu, 3 Aug 2023 18:14:33 +0000 (20:14 +0200)
DeDRM_plugin/kindlekey.py
DeDRM_plugin/kindlepid.py
DeDRM_plugin/mobidedrm.py

index 6297959d24200c28e721a170728c6e0ec0fbfc38..4e128c9ab5c6f633ac50b87948233cecc5f5bc27 100644 (file)
@@ -243,9 +243,14 @@ if iswindows:
 
             # replace any non-ASCII values with 0xfffd
             for i in range(0,len(buffer)):
-                if buffer[i]>"\u007f":
-                    #print "swapping char "+str(i)+" ("+buffer[i]+")"
-                    buffer[i] = "\ufffd"
+                if sys.version_info[0] == 2:
+                    if buffer[i]>u"\u007f":
+                        #print "swapping char "+str(i)+" ("+buffer[i]+")"
+                        buffer[i] = u"\ufffd"
+                else: 
+                    if buffer[i]>"\u007f":
+                        #print "swapping char "+str(i)+" ("+buffer[i]+")"
+                        buffer[i] = "\ufffd"
             # return utf-8 encoding of modified username
             #print "modified username:"+buffer.value
             return buffer.value.encode('utf-8')
index 24e0fe8213d5d0dcbd772243ee6124466b851fc9..a034e409d937119823fa464ead5d09a218136c9b 100644 (file)
@@ -33,7 +33,7 @@ def checksumPid(s):
     for i in (0,1):
         b = crc & 0xff
         pos = (b // l) ^ (b % l)
-        res += letters[pos%l]
+        res += bytes(bytearray([letters[pos%l]]))
         crc >>= 8
 
     return res
@@ -43,16 +43,19 @@ def pidFromSerial(s, l):
 
     arr1 = [0]*l
     for i in range(len(s)):
-        arr1[i%l] ^= s[i]
+        if sys.version_info[0] == 2:
+            arr1[i%l] ^= ord(s[i])
+        else: 
+            arr1[i%l] ^= s[i]
 
     crc_bytes = [crc >> 24 & 0xff, crc >> 16 & 0xff, crc >> 8 & 0xff, crc & 0xff]
     for i in range(l):
         arr1[i] ^= crc_bytes[i&3]
 
-    pid = ''
+    pid = b""
     for i in range(l):
         b = arr1[i] & 0xff
-        pid+=letters[(b >> 7) + ((b >> 5 & 3) ^ (b & 0x1f))]
+        pid+=bytes(bytearray([letters[(b >> 7) + ((b >> 5 & 3) ^ (b & 0x1f))]]))
 
     return pid
 
index 36d30c466a1dbba0ed236c26378caf245cf88b76..5989e8bc5781896b8588c1d20bef03ebf6576088 100755 (executable)
@@ -113,7 +113,7 @@ def checksumPid(s):
     for i in (0,1):
         b = crc & 0xff
         pos = (b // l) ^ (b % l)
-        res += letters[pos%l]
+        res += bytes(bytearray([letters[pos%l]]))
         crc >>= 8
     return res