Назад | Перейти на главную страницу

Команда Linux для поиска строк в двоичном файле или файле без ascii

Есть ли какая-либо команда linux для извлечения всех строк ascii из исполняемого или другого двоичного файла? Полагаю, я мог бы сделать это с помощью grep, но я помню, как где-то слышал, что такая команда существует?

Команда, которую вы ищете, это strings

Его имя говорит само за себя, он извлекает любую печатаемую строку из заданного файла.

man strings дает:

СТРУНЫ (1)

НАЗВАНИЕ
струны - найти печатаемые строки в объекте или другом двоичном файле

ОБЗОР
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

В струны команда - это способ решить этот конкретный тип проблем. Иногда вам также нужно вывести его на grep.

Например:

strings somebinaryfile | grep textuwanttofind

Команда действительно существует и называется .... строками!

Команда od может сделать это:

od -c *filename*

Проблема с использованием строк заключается в том, что вы не видите окружающих непечатаемых материалов, и вам нужно быть осторожным с минимальной длиной строки.

Проблема с использованием

od -c FILE
or
hexdump -C FILE
is that a sequence can be difficult to find if it wraps a line.

Что-то мне в этом очень нравится ZTreeWin работает в WINE в Linux - вы можете многое сделать с ним, но поиск в любом файле или редактирование двоичных файлов может быть особенно полезным.

Потрясающий пакет ytree доступен для многих вариантов Linux и Unix и имеет хорошее представление Hex-дампа любого файла, но не имеет поиска, который есть у ZTreeWin (и его 16-битного предшественника XTree).