У меня есть двоичный файл, который я хочу заменить сценарием оболочки 0xaa,0xbb,0xcc,0xdd на 0x11,0x22,0x33,0x44
0xaa,0xbb,0xcc,0xdd
0x11,0x22,0x33,0x44
Я могу получить 0xaa,0xbb,0xcc,0xdd в сценарий оболочки, например, $ 1, но как я могу заменить его на 0x11,0x22,0x33,0x44 безСЕПГ
Вы можете создать скрипт bash, который выполняет hexdump вашего файла, просто заменить, а затем преобразовать обратно в двоичный файл.
Вы можете использовать приложение, такое как xxd или hexdump, чтобы создать hexдамп вашего файла.Это объясняется здесь: преобразовать двоичные данные в шестнадцатеричные в сценарии оболочки?
Похоже, xxd создает шестнадцатеричную строку, которая выглядит как «aabbccdd», а не как «0xaa, 0xbb, 0xcc», 0xdd "так что следите за этим!
Чтобы узнать, как сделать замену, вы можете посмотреть на этот ответ: Найти и заменить внутри текстового файла из команды Bash
Затем вы захотите преобразовать строку HEX обратно в двоичный файл, что объясняется здесь: сценарии оболочки linux: шестнадцатеричная строка в байтах