【问题标题】:Using Binwalk's python api to extract files from binary使用 Binwalk 的 python api 从二进制文件中提取文件
【发布时间】:2017-05-28 20:44:35
【问题描述】:

我正在尝试在 python 中创建对固件文件执行提取 (matryoshka) 的程序。基本上,我想使用 ap 功能在 python 中实现“binwalk -Me binary_file”,而不是进行子进程调用。不幸的是,binwalk API 的文档很少。下面是一段代码,展示了我现在是如何做到的。

from subprocess import call
import binwalk

for module in binwalk.scan('test.bin',signature=True,quiet=False):
    print ("%s Results:" % module.name)

for result in module.results:
    print ("\t%s    0x%.8X    %s" % (result.file.name, result.offset, result.description))

call(["binwalk","-Me","test.bin"])

任何建议都会很棒!!!

【问题讨论】:

  • Stack Overflow 不是代码编写服务,请参阅 stackoverflow.com/help/how-to-ask 并提供具体问题而不是寻求建议。
  • 非常感谢您的建设性批评,非常感谢。我不是在寻找代码编写服务,而是在寻找具有 binwalk api 编码专业知识的任何人。如果有帮助的话,我可以提供一个特定的代码 sn-p,但我不知道是否存在适当的功能来做我想做的事情。

标签: python reverse-engineering


【解决方案1】:

它不是存在单独的提取函数,而是扫描函数中的一个参数。

for module in binwalk.scan('test.bin',signature=True,quiet=False, extract=True):
    print ("%s Results:" % module.name)

【讨论】:

    【解决方案2】:

    您可以使用以下内容:

    binwalk.scan('test.bin', signature=True,extract=True)
    

    而不是call(["binwalk","-Me","test.bin"])

    【讨论】:

      猜你喜欢
      • 2016-07-31
      • 2012-06-23
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      相关资源
      最近更新 更多