首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struct.unpack(.)在x64机器上不同的工作

Struct.unpack(.)在x64机器上不同的工作
EN

Stack Overflow用户
提问于 2017-07-05 13:40:46
回答 1查看 89关注 0票数 1

我正在尝试执行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

EN

回答 1

Stack Overflow用户

发布于 2017-07-05 14:02:34

您可以尝试在“L”之前使用"=“:

代码语言:javascript
复制
...
struct.unpack("=L", bytes_key)[0]
...

根据文档,它说:

标准大小仅取决于格式字符;请参阅“格式字符”部分中的表。注意'@‘和’=‘之间的区别:两者都使用本机字节顺序,但后者的大小和对齐是标准化的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44927943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档