in reply to encrypting perl code used with mod_perl

It's impossible to prevent the customer from viewing the code. The customer has access to everything perl sees, trivially. Once he can see the code, he can trivially bypass integrity checks by removing the die, allowing him to edit the code freely.

Perl can understand two kinds of code. Source code and byte code. It might be a bit trickier for the customer if the program was delivered as byte code (encrypted or not), but I suspect it's quite easy to recreate Perl source code from Perl byte code. It's not even necessary to do so.

I'm telling you this so you realize that any protection you add will be rather easily circumventable. Consider that in your cost analysis.

On the plus side, using encryption to protect your program — as ineffective as it might be — will grant you an extra legal weapon (and thus an extra bargaining chip) in the USA: The DMCA.

Replies are listed 'Best First'.
Re^2: encrypting perl code used with mod_perl
by diotalevi (Canon) on Jul 17, 2006 at 20:41 UTC

    Perl doesn't know about bytecode either. It only reads source code.

    ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

      Core module ByteLoader claims to be able to load bytecode.

        Yeah, but that's just a trick identical to using Acme::Bleach. It doesn't really mean perl knows anything about bytecode. In fact, bytecode is foreign to perl. We just don't have any. Not normally.

        ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊