我在网上浏览一些有关 CryptUnprotectData 和 WZC 的信息。我发现了这个小脚本,用于解密 Vista 上存储的无线密码。我尝试使用Python3(它可能是为Python 2.X编写的),但它给了我:TypeError需要一个带有缓冲区接口的对象。我不太确定如何解决它。 这是简单的脚本:
import win32crypt
mykey = "Insert keyMaterial"
binout = []
for i in range(len(mykey)):
if i % 2 == 0:
binout.append(chr(int(mykey[i:i+2],16)))
pwdHash=''.join(binout)
output = win32crypt.CryptUnprotectData(pwdHash,None,None,None,0)
print ("hex:", "".join(["%02X" % ord(char) for char in output[1]]))
print ("ascii:", output[1])
脚本来自这里
当它需要二进制/字节数据时,您正在给它字符串/unicode 数据。
如果它是为 Python 2 编写的,那么在不进行一些修改的情况下不太可能在 Python 3 上工作。使用 Python 2(或修复它)。