notes

Whitespace steganography

Source code embedding

Whitespace programs can be embedded in text files, by modifying spaces in the target to match the Whitespace program. Edwin’s embed.hs did this by simply substituting spaces, but that may not always be semantically equivalent. Instead, for source code, a more sophisticated embedder should tokenize the target file. Strings and code blocks should typically be left as-is.

Considerations for various programming and markup languages:

Binary file embedding

Whitespace programs can be embedded in file formats, that parse using file trailers or have comment fields at the start.

Formats that would work:

Formats that may possibly work:

Formats that won’t work: