Вы можете использовать vim и xxd:
vim -b some_binary_file
-b
открывает его в двоичном режиме - vim не помещает новую строку в конец файла при его сохранении.
Как только вы откроете его, сделайте
:%!xxd
Допустим, у вас есть текстовый файл с таким содержимым:
Hello there this is a test blah blah blah blah blah blah blah blah
Запуск :%!xxd
в vim выдаст шестнадцатеричный вывод, подобный этому:
1 0000000: 4865 6c6c 6f20 7468 6572 6520 7468 6973 Hello there this
2 0000010: 2069 7320 6120 7465 7374 2062 6c61 6820 is a test blah
3 0000020: 626c 6168 2062 6c61 6820 626c 6168 2062 blah blah blah b
4 0000030: 6c61 6820 626c 6168 2062 6c61 6820 626c lah blah blah bl
5 0000040: 6168 0a ah.
Чтобы отредактировать байт, отредактируйте желаемое шестнадцатеричное значение и затем запустите
:%!xxd -r
Чтобы преобразовать шестнадцатеричные байты обратно в двоичный формат.
Так , например, изменить первые байты 0x48
, чтобы 0x4a
в выходном сигнале шестигранного выше:
1 0000000: 4a65 6c6c 6f20 7468 6572 6520 7468 6973 Hello there this
2 0000010: 2069 7320 6120 7465 7374 2062 6c61 6820 is a test blah
3 0000020: 626c 6168 2062 6c61 6820 626c 6168 2062 blah blah blah b
4 0000030: 6c61 6820 626c 6168 2062 6c61 6820 626c lah blah blah bl
5 0000040: 6168 0a ah
и затем работает :%!xxd -r
преобразует шестнадцатеричные байты обратно в двоичный формат, что дает вам следующее:
Jello there this is a test blah blah blah blah blah blah blah blah
Надеюсь это поможет