it-swarm-ru.tech

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

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

40
Ethan Heilman

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

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

man strings дает:

НИТИ (1)

[~ # ~] название [~ # ~]
strings - найти печатаемые строки в объекте или другом двоичном файле

[~ # ~] краткий обзор [~ # ~]
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

72
drAlberT

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

Например:

strings somebinaryfile | grep textuwanttofind
11
luis.espinal

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

4
Mark

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

od -c *filename*
3
Kyle Brandt

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

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

od -c ФАЙЛ
hexdump -C ФАЙЛ

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

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

2
qeff