Заменить hex в двоичном файле на shell без sed - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть двоичный файл, который я хочу заменить сценарием оболочки 0xaa,0xbb,0xcc,0xdd на 0x11,0x22,0x33,0x44

Я могу получить 0xaa,0xbb,0xcc,0xdd в сценарий оболочки, например, $ 1, но как я могу заменить его на 0x11,0x22,0x33,0x44 безСЕПГ

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете создать скрипт bash, который выполняет hexdump вашего файла, просто заменить, а затем преобразовать обратно в двоичный файл.

Вы можете использовать приложение, такое как xxd или hexdump, чтобы создать hexдамп вашего файла.Это объясняется здесь: преобразовать двоичные данные в шестнадцатеричные в сценарии оболочки?

Похоже, xxd создает шестнадцатеричную строку, которая выглядит как «aabbccdd», а не как «0xaa, 0xbb, 0xcc», 0xdd "так что следите за этим!

Чтобы узнать, как сделать замену, вы можете посмотреть на этот ответ: Найти и заменить внутри текстового файла из команды Bash

Затем вы захотите преобразовать строку HEX обратно в двоичный файл, что объясняется здесь: сценарии оболочки linux: шестнадцатеричная строка в байтах

...