问题描述
我正在尝试对十六进制字符串(即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 (将#修改为@)