Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3480 / 785 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 24:

Средства просмотра файлов и редакторы общего назначения

Например, чтобы найти строку "utxZ" в файле suspiciousfile.bin, нужно нажать TAB, для передачи управления вкладке с ASCII-кодом. Затем, нажмите CTRL-S для поиска вперед и CTRL-R для поиска назад в представлении содержимого файла в ASCII-кодах. Этот процесс был выполнен, и соответствующий вывод показан ниже.


Обратите внимание, что курсор выбрал первую букву в последовательности символов "utxZ" ASCII-кода, и что эта последовательность переходит на новую строку.

Для поиска строки в шестнадцатеричном формате, нажмите TAB, чтобы переместить фокус на вкладку, содержащую данные в шестнадцатеричном формате. Чтобы найти последовательность символов "66 D4 D4 68" в шестнадцатеричном представлении, которое также переходит на вторую строку, нажмите CTRL-S для поиска вперед. Наберите в строке, предназначенной для поиска, 66 D4 D4 68 и нажмите ENTER. Если требуется поиск в обратном направлении, нажмите CTRL-R вместо CTRL-S. Следующий снимок с экрана иллюстрирует этот поиск в шестнадцатеричном формате.


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

forensic# chmod 500 suspiciousfile.bin

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

Vi

Иногда файл, предназначенный для анализа, является текстовым, а не двоичным. В операционных системах Unix текстовые файлы можно просматривать, используя команду cat, но опять же поиск может быть не эффективен, если ключевое слово занимает несколько строк. Редактор vi устанавливается с большинством операционных систем Unix, как самый элементарный редактор. Пусть вас не вводит в заблуждение слово элементарный (basic): на овладение мощью редактора vi могут потребоваться годы. В этом разделе мы сконцентрируемся на возможностях vi, связанных с просмотром файлов и будем предполагать, что читатель немного знаком с этим инструментом, поскольку полное объяснение его работы находится за пределами контекста этой лекции.

Реализация

Редактор vi вызывается просто, и мы будем использовать флаг -R для уверенности в том, что файл не будет изменен во время его просмотра (опция командной строки -R запускает vi в режиме, предназначенном только для чтения). Ниже приводится эта команда.

forensic# vi-R suspiciousfile.txt

Далее показано, как выглядит вывод.


Файл, похоже, представляет собой список слов. Хорошая особенность редактора vi заключается в его способности выполнять поиск в соответствии со сложными конструкциями регулярных выражений (regular expressions). Команда поиска внутри vi активизируется набором наклонной черты вправо (/) в окне, а затем вводится регулярное выражение.

Например, чтобы найти слово hacker, в окне vi набирается следующая команда:

/hacker

Вывод показан ниже.


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

Если мы заинтересованы в поиске строк, которые начинаются со слова hacker, использование регулярных выражений (regular expressions) может значительно облегчить операцию. Регулярное выражение, предназначенное для обнаружения слова hacker, расположенного в начале строки, производится добавлением к нужному ключевому слову символа "начала строки", "^" (знак вставки). Показанная ниже команда находит следующую строку, которая содержит слово hacker, расположенное в начале строки.

/^hacker

Ниже показан соответствующий вывод.


Это простое выражение, но можно создавать и более сложные выражения. Обзор регулярных выражений лежит вне контекста этой книги, но есть хороший (и бесплатный) способ познакомиться с ним - справочная страница "perlre", которую можно найти на сайте http://www.perl.com или на машине, где должным образом установлен язык программирования Perl.

Совет. Чтобы выйти из редактора vi без записи в файл, наберите :q!.