我想从内存转储中提取字符串。 我正在使用windows xp,ruby 1.9-mingw
转储文件由工具生成 - HiperDrop.exe
答案 0 :(得分: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
更改为其他最小字符串长度。
答案 1 :(得分:0)
我认为上面的sarnold是正确的钱。 strings
是一个在所有* nix环境中都可用的实用程序,Microsoft提供了free equivalents for Windows。只需从Ruby调用程序并根据需要解析输出。