如何解决输入到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_bin
是b']\x00\x00\x00\x01...'
,当我尝试运行脚本时,会出现错误TypeError: 'in <string>' requires string as left operand,not int
。如果将压缩数据写入文件并在该文件上运行binwalk,就可以轻松运行它。
我应该如何将输入字符串处理为binwalk?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。