Você pode fazer algo muito mais simples com dd :
dd if=/dev/zero \
of="$your_target_file" \
bs=1 \
seek="$((start_offset))" \
count="$((num_zeros))" \
conv=notrunc
Com $start_offset sendo o início do intervalo de bytes a zero (baseado em zero, como para apagar do n th byte, use n-1) e $num_zeros o comprimento desse intervalo. O $((...)) cuidará da conversão de hexadecimal em decimal.
(Outros testes que você pode executar seriam definir if a /dev/urandom em vez de /dev/zero ou substituir as somas de verificação por dados aleatórios também.)