Err, excuse me, but pp just puts all stuff into a ".zip" (that is now called .exe). That is, all needed stuff in the created .exe is actually a runnable .zip... Although you can make it harder with some parameters for pp that "scramble" the scriptcode of yours... ie to bytecode.
I think you misunderstood me - I was comparing PerlApp against other EXE creators (such as pp) from which it is very easy to extract source. I understand that it is trivial to obtain source from a pp-generated executeable.