вырезать из бинарного файла блок

чем проще всего вырезать кусок из бинарного файл?
к примеру с 0x10200 по 0x1021E отрезать кусок?
bless - будешь видеть, что удаляешь, а потом можешь выполнить для перестраховки сохранить как

UPD - можно и ручками, как то уже описывал, но для начала лучше bless
Ошибки не исчезают с опытом - они просто умнеют
пока пользую такой вариант
head -c 66077 file.bin | tail -c +66048 > out.bin
но он не самый удобный
может есть всётаки что-то более более?
How do I extract a single chunk of bytes from within a file?
version of the dd command that is better-suited for large chunks of bytes:
dd if=input.binary of=output.binary skip=$offset count=$bytes iflag=skip_bytes,count_bytes
where $offset and $bytes are numbers in byte units.
Если ручками, то лучше использовать следующий простой и понятный способ
Пример - в файле test нужно удалить 4-ый и 5-ый байты (пишу без указания смещения/offset)
hexdump -C test
00000000 23 21 2f 62 69 6e 2f 62 61 73 68 |#!/bin/bash|

Выполняем в 2 этапа
1. Читаем нужный файл test и копируем только байты до начала удаления, то есть до 3 байта включительно - dd if=test of=test_rm bs=3 count=1
2. Читаем нужный файл test, пропускаем 5 байт и копируем то, что идет дальше - dd if=test of=test_rm bs=1 skip=5
3. Объединяем и получаем команду
dd if=test of=test_rm bs=3 count=1 | dd if=test of=test_rm bs=1 seek=3 skip=5
4. Проверяем
hexdump -C test_rm
00000000 23 21 2f 6e 2f 62 61 73 68 |#!/n/bash|

EDIT 1 - я похоже слишком усложнил задачу, так как понял, что нужно из исходного файла удалить блок.
Но если нужен только отдельный вырезанный блок, то это намного проще и способов много, один из них описал vinc
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.