In the original MIPS-32 instruction set, some fields in the instruction are unused in certain instructions. (The shift field in R-format instructions is an example.) I had a student who did a project to take real MIPS machine language programs and store textual data in them by repurposing these unused fields.
I’ve done something similar in the past and embedded Merkle tree nodes in an image to allow partial integrity validation. It was a fun little project:
https://github.com/dennis-tra/image-stego