4 ms·
They serve no purpose, except proving that file formats not starting at offset 0 are a bad idea. Au contraire–they are a wonderful idea. If, say, a polyglo
by DHowett 13y ago
They serve no purpose, except proving that file formats not starting at offset
0 are a bad idea.
Au contraire–they are a wonderful idea. If, say, a polyglot pdf+executable could gain code execution enough to execute itself as a binary, it could just as easily execute far more dangerous code while being far less likely to tip off an automated scanner. So it goes for many of the other stackable formats.
The benefits seem to far outweigh the drawbacks. As an example, look at the concept behind ext[234]fs migration in btrfs (which is not fixed to block 0 in a volume)–Take an ext4 filesystem, generate new inodes pointing at the original b-trees, and away you go! You get a filesystem that is valid ext4 (retaining the old data), and valid btrfs (which, being copy-on-write, doesn't destroy the old data.)
- est 13y ago> file formats not starting at offset 0 are a bad idea. Meanwhile, we realy need to develop network protocols with obfuscated handshake to counter monitor and censorship.
- Someone 13y agoAlso, these aren't all "file formats not starting at offset 0". For example, PDF files must start with %PDF. The problem is that several tools are happy with a PDF prefixed by noise. That probably is because PDF, originally, was a text format (just as PostScript still is). Compression of content was added later, but the structure still is pure ASCII (for example, the table of contents at the end of a file has file offsets in ASCII, and you can find the start of the table of contents as an ASCII string, too).