Команда grep ищет строки в текстовых файлах. Однако не только текстовые файлы содержат символы ASCII
. Двоичные файлы, такие как исполняемые файлы, могут содержать строки в удобочитаемом тексте.
В процессе компиляции символы ascii встраиваются в двоичные файлы, и иногда, когда
приложение развертывается, некоторый текст ASCII упаковывается в двоичный файл разработчиком.
Он содержит полезную информацию о двоичном файле, например краткую справку или информацию об авторских правах.
Существуют также двоичные файлы, используемые различными приложениями, которые встраивают конфиденциальную информацию в
качестве учетных данных. Команда strings извлекает печатаемые символы из двоичных файлов.
Он печатает последовательности символов, состоящие как минимум из 4 символов. Давайте посмотрим на печатаемые символы
из команды ls. Сначала я хочу увидеть его путь: which ls и strings / bin / ls
Это символы ASCII, встроенные в ls.
Я буду использовать pipe и less для навигации по выходным данным, поэтому | less
И ищу строковую справку.
Я нажимаю n, чтобы увидеть следующее событие.
Хорошо, и я обнаружил, что помощь команды встроена в саму команду.
Я также мог распечатать символы ASCII из файла устройства, представляющего раздел диска.
Посмотрим, какой раздел смонтирован в корневом каталоге.
Это раздел, это / dev / sda5, и я запускаю команду как root: sudo string -a
и файл.
Я печатаю все символы раздела, используя файл устройства низкого уровня.
Он печатает все символы ASCII, -a опции сканируют весь файл, что в большинстве случаев
является поведением по умолчанию.
Я прерываю его, нажимая control и c. И последний пример, который мне показался интересным, -
это поиск непосредственно в физической памяти машины: ls -l / dev / mem
Это файл символьного устройства, который представляет собой образ основной памяти компьютера и строки / dev / mem.
| less
У меня ошибка отказа в разрешении, потому что только root может искать в памяти компьютера.
Я использую sudo перед именем команды.
Это печатаемые символы в физической памяти.
Это память компьютера.
Интересно, правда?
Доступны и другие варианты, и вы можете найти их на странице руководства.