【问题标题】:How to extract strings out of a binary file with ruby?如何使用 ruby​​ 从二进制文件中提取字符串?
【发布时间】:2011-09-09 17:54:17
【问题描述】:

我想从内存转储中提取字符串。 我正在使用 windows xp,ruby 1.9-mingw

转储文件由工具——HiperDrop.exe生成

【问题讨论】:

  • 到目前为止你有没有尝试过?
  • 如果你只想要字符串,你考虑过strings(1)这个工具吗?

标签: ruby string binary extract


【解决方案1】:

这应该是一个好的开始:

str = IO.read('/path/to/file', :mode => 'rb')
printable_chars = %r{[A-Za-z0-9`~!@#%^&*()-_=+|'";:/?.>,< \t\$\{\}\[\]\\]{10,}}
str.scan(printable_chars).each do |match|
  puts match
end

当然,将'/path/to/file' 更改为内存转储的位置。您还可以将第二行末尾的 10 更改为其他最小字符串长度。

【讨论】:

    【解决方案2】:

    我认为上面的 sarnold 是正确的。 strings 是一个可在所有 *nix 环境中使用的实用程序,并且有适用于 Windows 的 Microsoft 提供的 free equivalents。只需从 Ruby 调用程序并根据需要解析输出即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      相关资源
      最近更新 更多