Как извлечь строки из двоичного файла с помощью ruby? - PullRequest
0 голосов
/ 07 июня 2011

Я хочу извлечь строку из дампа памяти.я использую windows xp, ruby ​​1.9-mingw

файл дампа создается инструментом - HiperDrop.exe

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Это должно быть хорошим началом:

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-й строки на другую минимальную длину строки.

0 голосов
/ 07 июня 2011

Я думаю, что Сарнольд выше прямо на деньги.strings - это утилита, доступная во всех * nix-средах, и бесплатных эквивалентов доступны от Microsoft для Windows.Просто вызовите программу из Ruby и проанализируйте вывод, как вам угодно.

...