Yea I came here to write the same. The author obviously works in a different environment where such operations are not standard.
The ability to specify that an exact amount of bytes should be written or read in a location is an important task. More so on special files, like device files. Even provisioning an SD card with the image block aligned is crucial, and that is not speaking of very early boot loaders that need to be available in a specific byte offset.
This discussion hopefully educates the public that this kind of tools are foundational and their use cases should be learned:
You never know when you need to read a special byte offset in a hacky one liner in a debug environment. Analysis productivity matters, and knowing analysis tools is key for that.
> Dd is super useful for incrementally writing boot loader to /dev device endpoints when offsets are required (multiple images).
How exactly does one use cat to overwrite only a specific offset? Say, I have a 512 bootloader that needs to be placed starting at 2048 bytes into the image; how would I invoke cat to do that?
No it doesn't, what's being done here is inserting a binary block into the middle of a binary file (or disk) without overwriting the data before or after it
This is very common with u-boot and eMMC/microSD devices on SBC (pi clones, etc).
It’s also generally valuable to be precise and explicit when messing with boot loader data in general.
I think the author is under appreciating these use cases.