【发布时间】:2011-09-09 17:54:17
【问题描述】:
我想从内存转储中提取字符串。 我正在使用 windows xp,ruby 1.9-mingw
转储文件由工具——HiperDrop.exe生成
【问题讨论】:
-
到目前为止你有没有尝试过?
-
如果你只想要字符串,你考虑过
strings(1)这个工具吗?
标签: ruby string binary extract
我想从内存转储中提取字符串。 我正在使用 windows xp,ruby 1.9-mingw
转储文件由工具——HiperDrop.exe生成
【问题讨论】:
strings(1)这个工具吗?
标签: ruby string binary extract
这应该是一个好的开始:
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 更改为其他最小字符串长度。
【讨论】:
我认为上面的 sarnold 是正确的。 strings 是一个可在所有 *nix 环境中使用的实用程序,并且有适用于 Windows 的 Microsoft 提供的 free equivalents。只需从 Ruby 调用程序并根据需要解析输出即可。
【讨论】: