Grep: Как передать правильные аргументы в grep для двоичного файла - PullRequest
0 голосов
/ 10 июля 2019

Мне нужен grep для поиска бинарного файла размером примерно 10 МБ.Я могу получить результаты, которые я хочу, используя searchbin.py (grep 'альтернатива') с командой: 'searchbin.py -p "38 04 00" test.dump'

Это ищет "38 04 00 "и возвращает результат (ы) с их смещениями.

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

Спасибо.

Пример ввода с использованием searchbin.py:

searchbin.py -p "FF 85 00" test.dump

Вывод:

Match at offset:        7448324       71A704 in  test.dump
Match at offset:        7448328       71A708 in  test.dump
Match at offset:        7448332       71A70C in  test.dump
Match at offset:        7448336       71A710 in  test.dump
Match at offset:        7448340       71A714 in  test.dump
Match at offset:        7448344       71A718 in  test.dump
Match at offset:        7448348       71A71C in  test.dump
Match at offset:        7448352       71A720 in  test.dump
Match at offset:        7448356       71A724 in  test.dump
Match at offset:        7452364       71B6CC in  test.dump

Я хочу, чтобы это работало с grep.

1 Ответ

0 голосов
/ 10 июля 2019

Этот ответ основан на предположении, что файл bin, на который вы ссылаетесь, подобен обычному типу файла "a.out" и что вы ожидаете получить только смещение. Пожалуйста, не стесняйтесь исправлять меня, если я ошибаюсь, и я обновлю свой ответ соответственно.

В Linux у нас есть команда xxd , которую можно использовать для получения дампов или hexdump файлов bin.

xxd -b a.out > binFile

Приведенная выше команда копирует содержимое файла bin в binFile. Затем вы можете grep файл для нужного шаблона. Пример:

grep -e "00100111"

Это приведет к:

grep result

Также взгляните на команду objdump для более подробного анализа объектных файлов.

Надеюсь, это поможет.

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