[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

DD или другие альтернативы, заменить область файла



Добрый день

Казалось бы простая нужда, но сделать не удалось.

Есть бинарный файл, в котором произвольные данные в диапазоне 0x00040000 -> 0x0017FFFF необходимо заменить на 0xFF

Берем dd и делаем следующее:
printа 0xFF | dd bs=1 seek=0x00040000 count 1310719 conv=notrunc if=source.bin of=dest.bin

Получаем практически то что нам надо, но все 0xFF которые были до в исходном файле до оффсета 0x00040000 стали 0x00, те что в нужном мне диапазоне остались как и были. Возможно поменяло и после диапазона, не проверял. В исходном файле присутствуют как 0xFF так и 0x00

Игрался с разными conv=?

Причем есть еще одна проблема, но с ней не разбирался, т.к. нужен файл с 0xFF а не 0x00. Файл до операции имеет размер 2097152 а после 1572863

Нашел пакет srecord, с утилитой srec_cat. Почитал описание, решил, что мне должно помочь: srec_cat source.bin -Binary -fill 0xFF 0x00040000 0x0017FFFF -o dest.file -Binary

Но dest.bin после процедуры идентичен source.bin

Чем еще можно сделать необходимые действия ?

Спасибо



Reply to: