http://qs321.pair.com?node_id=1041643


in reply to Encrypting an executable with pp

I'd really like to understand what you're trying to accomplish with encrypting your code. The overwhelming majority of the time, it seems that people wishing to do so either fundamentally misunderstand program execution or fundamentally misunderstand encryption.

If you're attempting to hide your source code from people who run the program, you're wasting your time. To allow them to run the program, you have to make the executable available at some point. Once you do that, it can be decompiled trivially -- especially with interpreted languages like Perl.

If you're attempting to prevent unauthorized execution, you have the same problem. Your authorized users will at some point have access to the "raw" executable, and so it only takes one of them to "leak" an unprotected version. DRM (and anti-piracy measures in general) will always fail for this reason.

In short, you almost certainly don't want to encrypt your package, because you'll create complexity for yourself and your legitimate users while completely failing to cause any trouble for your "undesirable" actors.

<radiant.matrix>
Ramblings and references
“A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.” — Herm Albright
I haven't found a problem yet that can't be solved by a well-placed trebuchet