微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

输入到binwalk.scan的字符串

如何解决输入到binwalk.scan的字符串

我正在尝试对十六进制字符串(即Python脚本(Python 3.6.4)中的5d00000001...)的某些LZMA压缩数据运行binwalk。我宁愿直接在数据上运行binwalk.scan(),而不是将数据写入文件,然后在该文件上运行binwalk。但是,我在这样做时遇到了麻烦。

我对binwalk的输入是十六进制字符串5d00000001...。我的代码很简单:

import binwalk
import binascii

data = "5d00000001..."    <-- truncated
data_bin = binascii.unhexlify(data)
try:
    for module in binwalk.scan(data_bin,signature=True,quiet=True,string=True):
        for result in module.results:
            print("%s|%s" % (result.offset,result.description))
except binwalk.ModuleException as e:
    print("Error: ",e)

我的data_binb']\x00\x00\x00\x01...',当我尝试运行脚本时,会出现错误TypeError: 'in <string>' requires string as left operand,not int。如果将压缩数据写入文件并在该文件上运行binwalk,就可以轻松运行它。

我应该如何将输入字符串处理为binwalk?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。