Recently I've been working on writing a compressor for graphing calculator programs, where space is minimal and the calculator OS doesn't care if you set the instruction pointer to an arbitrary address.
I implemented the basic DEFLATE and then tried to google for compression algorithms which might work better on executable code.
But here's my question: wouldn't any modern OS with DEP disallow a program to execute extracted code (at least not directly). So are all "packed executables" limited to unzipping data, or having an uncompressed interpreter run the extracted code, or something in between?