mirror of
https://github.com/noDRM/DeDRM_tools.git
synced 2026-03-20 04:58:56 +00:00
More Python2 bugfixes
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
# pbkdf2.py Copyright © 2009 Daniel Holth <dholth@fastmail.fm>
|
||||
# pbkdf2.py This code may be freely used and modified for any purpose.
|
||||
|
||||
import sys
|
||||
import hmac
|
||||
from struct import pack
|
||||
import hashlib
|
||||
@@ -25,7 +26,10 @@ class Pukall_Cipher(object):
|
||||
raise Exception("PC1: Bad key length")
|
||||
wkey = []
|
||||
for i in range(8):
|
||||
wkey.append(key[i*2]<<8 | key[i*2+1])
|
||||
if sys.version_info[0] == 2:
|
||||
wkey.append(ord(key[i*2])<<8 | ord(key[i*2+1]))
|
||||
else:
|
||||
wkey.append(key[i*2]<<8 | key[i*2+1])
|
||||
dst = bytearray(len(src))
|
||||
for i in range(len(src)):
|
||||
temp1 = 0;
|
||||
@@ -37,7 +41,12 @@ class Pukall_Cipher(object):
|
||||
sum2 = (sum2+sum1)&0xFFFF
|
||||
temp1 = (temp1*20021+1)&0xFFFF
|
||||
byteXorVal ^= temp1 ^ sum2
|
||||
curByte = src[i]
|
||||
|
||||
if sys.version_info[0] == 2:
|
||||
curByte = ord(src[i])
|
||||
else:
|
||||
curByte = src[i]
|
||||
|
||||
if not decryption:
|
||||
keyXorVal = curByte * 257;
|
||||
curByte = ((curByte ^ (byteXorVal >> 8)) ^ byteXorVal) & 0xFF
|
||||
@@ -45,7 +54,12 @@ class Pukall_Cipher(object):
|
||||
keyXorVal = curByte * 257;
|
||||
for j in range(8):
|
||||
wkey[j] ^= keyXorVal;
|
||||
dst[i] = curByte
|
||||
|
||||
if sys.version_info[0] == 2:
|
||||
dst[i] = chr(curByte)
|
||||
else:
|
||||
dst[i] = curByte
|
||||
|
||||
return bytes(dst)
|
||||
|
||||
class Topaz_Cipher(object):
|
||||
@@ -103,7 +117,7 @@ class KeyIVGen(object):
|
||||
def xorbytes( a, b ):
|
||||
if len(a) != len(b):
|
||||
raise Exception("xorbytes(): lengths differ")
|
||||
return bytes([x ^ y for x, y in zip(a, b)])
|
||||
return bytes(bytearray([x ^ y for x, y in zip(a, b)]))
|
||||
|
||||
def prf( h, data ):
|
||||
hm = h.copy()
|
||||
|
||||
Reference in New Issue
Block a user