Средства просмотра файлов и редакторы общего назначения
Например, чтобы найти строку "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.