Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 5. Search and Compare - Поиск и сравнение
deplist | dupfind | extract | find | hexfind | md5 | md5check | md5gento | ofind | pathfind | reflist | xfind | xfindbin | xhexfind |


Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: hexfind

Поиск слов и последовательностей байтов в двоичных файлах

sfk hexfind [opts] -pat /pattern/ -dir anydir -file .ext1 [.ext2] Поиск текстовых или двоичных данных в текстовых и двоичных файлах.
Если задано несколько шаблонов, то они ищутся независимо (pattern1 ИЛИ pattern2). Это базовая команда для поиска только статических данных.
Введите sfk xhexfind, чтобы использовать подстановочные знаки и выражения.

Подкаталоги включены по умолчанию

По умолчанию для большинства команд sfk обрабатывает заданные папки, а также все подкаталоги внутри них. Укажите -nosub, чтобы отключить это.

ПАРАМЕТРЫ

  • -nosub - не включать файлы в подкаталоги

  • -nobin[ary] - пропустить бинарные файлы

  • -case - сравнение текста с учетом регистра. По умолчанию не чувствительно к регистру сравнение для всех строк -text, но НЕ для блоков -bin.
    Сравнение с учетом регистра выполняется быстрее, чем сравнение без учета регистра. Для получения дополнительной информации введите: SFK Help Nocase

  • -nocase - принудительное сравнение без учета регистра ТАКЖЕ для шаблонов -bin

  • -text - запускает список шаблонов поиска вида /src/ или /src/totext/, где / - символ-разделитель, src текст, чтобы найти маску для переформатирования вывода.
    Можно использовать любой символ разделителя, который не является частью текста поиска, т.е. /foo/ или _foo_ оба ищут "foo"

  • -text - не требуется, если задано одно имя файла

  • -pat - то же самое, что и -text, начиная со списка шаблонов

  • -spat - то же самое, что и -pat, но также активирует шаблоны косой черты, такие как \t .
    Введите "sfk help pat" для получения списка возможных шаблонов.

  • -spats[trict] -то же, что и -spat, но останавливается с ошибкой при использовании неопределенных шаблонов косой черты, таких как \m в C:\myproj. Затем каждая косая черта должна быть экранирована, например, используя C:\\myproj.

  • -bin[ary] - запускает список паттернов бинарной замены, указанных в виде шестнадцатеричного кода, например /0A0D/2020/

  • -bylist x.txt - чтение шаблонов поиска из файла x.txt, поддержка Несколько линий в шаблоне. (Добавьте -full, чтобы узнать больше.)

  • -bylinelist x - чтение шаблонов /from/to/ или просто /from/ из файла x с одним паттерном на строку. (Добавьте -full, чтобы узнать больше.)

  • -by(line)list - не поддерживает переменные sfk.
    Чтобы использовать переменные в шаблонах, создайте сценарий SFK с паттернами в качестве параметров.
    "SFK Script" для получения дополнительной информации.

  • -arc - XE: включить содержимое .zip .jar .tar и т.д. архивов как можно глубже, включая вложенные архивы.
    XD: demo прочитает первые 1000 байт каждой записи.

  • -qarc - быстрое чтение архивов верхнего уровня, но не вложенных.

  • -firsthit - обрабатывать только первое найденное совпадение шаблона для каждого файла.

  • -quiet - не показывать информацию о прогрессе.

  • -stat - показать статистику, такую как совпадения по паттерну файлов.

  • -perf - показать статистику производительности.

  • -full - вывести полный текст справки, рассказывающий о -bylist pat. Файлы, чувствительность к регистру специальных символов и поведение вложенной или повторяющейся замены.

    ПАРАМЕТРЫ ВЫВОДА

  • -wide - показать 16 байт на строку в выводе

  • -lean - показать 8 байт на строку в выводе

  • -context=n - показать n байт контекста вокруг результатов

  • -fullhead[er] - печатать смещение/длину хитов как в десятичном, так и в шестнадцатеричном формате

  • -maxdump=n - отображать только до n байт, n должно быть больше, чем контекст

  • -nodump - не создавать шестнадцатеричный дамп, выводить только совпадающие файлы

  • -showle - подсвечивать окончания строк CR/LF в шестнадцатеричном выводе дампа

  • -context=n - с шестнадцатеричным дампом: показать дополнительные n байт контекста

  • -reldist - с hexdump: определить относительные расстояния до предыдущих попаданий.

  • +tofile x в качестве последнего параметра (цепочка команд): записать текст как отображается на терминале в файл x

  • -more[n] - приостанавливать вывод каждые 30 или n строк

    Коды возврата для bat-файлов

  • 0 = совпадений нет,
  • 1 = совпадений найдено,
  • >1 = произошла серьезная ошибка.

    Смотрите также «SFK Help Opt» о том, как повлиять на обработку ошибок

    Многострочные параметры в кавычках поддерживаются в скриптах.
    Использование полной обрезки. Введите "SFK script" для получения подробной информации.

    ПСЕВДОНИМЫ

    sfk xhexfind аналогичен xfind -hex.

    Для извлечения неизмененных двоичных данных вы можете использовать либо sfk xfind -pure ... -tofile, либо sfk Extract ... -tofile.

    Поддержка файлов Office

  • sfk ofind - поиск текстовых файлов .xml в содержимом офисных файлов, таких как .docx .xlsx .ods .odt.

  • sfk help office для получения дополнительной информации и опций

    СМОТРИТЕ ТАКЖЕ

    Команды с открытым исходным кодом

  • sfk xfind Поиск текста с подстановочными знаками в обычных текстовых файлах

  • sfk ofind Поиск в файлах Office .docx .xlsx .ods

  • sfk xfindbin Поиск текста с подстановочными знаками в текстовых/двоичных файлах

  • sfk xhexfind Поиск в текстовом/двоичном файле с шестнадцатеричным выводом дампа

  • sfk extract Извлечение данных с подстановочными знаками из текстовых/двоичных файлов

  • sfk filter Фильтрация и редактирование текста с помощью простых подстановочных знаков

  • sfk find Поиск фиксированного текста в текстовых файлах

  • sfk findbin Поиск фиксированного текста в текстовых/двоичных файлах

  • sfk hexfind Поиск фиксированного текста в двоичных файлах

  • sfk replace Замена фиксированного текста в текстовых/двоичных файлах

    Бесплатные команды

  • sfk view Инструмент с графическим интерфейсом для поиска текста по мере ввода

    Коммерческие команды XE

  • sfk replace Замените фиксированный текст на высокопроизводительный

  • sfk xreplace Замена подстановочного знака в текстовых/двоичных файлах

  • sfk help xe о SFK XE и xreplace на выражения SFK.

    Остерегайтесь командных символов оболочки

    Чтобы найти или заменить текстовые шаблоны, содержащие пробелы или специальные символы, такие как <>|!&?*, вы должны добавить кавычки "" вокруг параметров, иначе среда оболочки уничтожит вашу команду.

    Например, шаблон /foo bar/other/ должен быть записан как «/foo bar/other/» в файле .bat или .cmd, процент % должен быть экранирован как %% даже в кавычках:
    sfk echo -spat «percent %» % — это процент \x25"

    Общие ошибки использования

  • sfk hexfind in.txt "/foo\r\n/"
    Не находит «foo» в конце строки, но ищет буквальные строки, такие как «slash и r». Добавьте опцию -spat, чтобы включить шаблоны косой черты, преобразуя \r\n в реальные коды CRLF, или используйте xhexfind, где шаблоны косой черты используются по умолчанию.

  • sfk hexfind mydir "/foo*bar/"
    Не находит "foo" и "bar" с какими-либо символами между ними, но ищет буквальную звездочку "*".
    Используйте xhexfind, чтобы включить поиск с подстановочными знаками.

  • sfk Rep in.txt "/foo[0.1000 bytes]bar/---/"
    Не заменяет до 1000 байт между «foo» и «bar», но заменяет буквальную строку «foo», затем «[1000 байт]», затем «bar».
    Вместо этого используйте xed или xreplace.

    ПРИМЕРЫ

  • sfk hexfind -text "/foo/" "/bar/" -dir mydir -file .txt .hpp
    Найти слова "foo" или "bar" без учета регистра во всех файлах .txt или .hpp в папке mydir.

  • sfk hexfind -binary /666f6f/ -dir mydir -file .exe +view
    Поиск двоичных данных с шестнадцатеричными значениями 0x66, 0x6f 0x6f во всех файлах .exe mydir и show result в dview.