in reply to perl script

You really can't successfully do this in perl. At most you can make it a little harder for people to produce the source, but if they're determined to do so ... they will. This is even true for C. People disassemble .exes all the time. They don't really get the nice pretty variable names back out, but they can learn enough to copy things or patch things if they're determined.

I'm under the impression there are automated ways to get the perl source back from the obfuscated perl, automatically produced in the usual ways...

-Paul

Replies are listed 'Best First'.
Re^2: perl script
by ikegami (Patriarch) on Jan 29, 2009 at 15:42 UTC

    This is even true for C.

    But it's easier in Perl, since the variable and subroutine names aren't lost. There's also a very strong correlation between the source form and the compiled form of the code. (Different source produce different code, different code results from different source.)

Re^2: perl script
by jethro (Monsignor) on Jan 29, 2009 at 15:58 UTC

    People disassemble .exes all the time

    Not only disassemble, there are decompilers that produce c code. Naturally variable names are lost and optimizations produce changes so that the resulting source looks different to the original source, but still there is no need to go down to the hellish pits of assembly language.

    Nevertheless it is a lot easier with interpreter languages like perl to get the source back. You pay for the comfort with openness. Not a bad deal in my view

Re^2: perl script
by irah (Pilgrim) on Feb 03, 2009 at 12:28 UTC
    I found the way. Using perlcc command we can crack the above scenario. Example, Consider, the perl script available in hello.pl. Command: perlcc -B -o hello hello.pl The option -B use the Perl bytecode code generator. The option -o used to make a executable file.