我正在尝试执行key = struct.unpack('L', bytes_key)[0],bytes_key是b'\xa6\x0b\xddE',它在bytes_key机器上运行得很好,但是每当我试图在x64机器上执行它时,我就会出错。
Traceback (most recent call last):File "unpacker.py", line 42, in <module> decompile(obj[1]) File "unpacker.py", line 13, in decompile f.write(decrypt_record(arg).content) File "crypt.py", line 61, in crypt.decrypt_record (crypt.c:2447) record.checksum = decrypt(record.checksum, checksum_key)File "crypt.py", line 36, in crypt.decrypt (crypt.c:1821) key = struct.unpack('L', bytes_key)[0] struct.error: unpack requires a bytes object of length 8
发布于 2017-07-05 14:02:34
您可以尝试在“L”之前使用"=“:
...
struct.unpack("=L", bytes_key)[0]
...根据文档,它说:
标准大小仅取决于格式字符;请参阅“格式字符”部分中的表。注意'@‘和’=‘之间的区别:两者都使用本机字节顺序,但后者的大小和对齐是标准化的。
https://stackoverflow.com/questions/44927943
复制相似问题