How come? The contents of the EXEs are certainly not readable. Are you saying they can be decompiled? | [reply] |
There's readable and then there's readable. For example, compiled C programs are extremely difficult to decompile - generally if you're going to do that your time would be better spent reimplementing it yourself. But Perl is different. PerlAPP, Perl2EXE and PAR all function, albeit in slightly different ways, by bundling the Perl interpreter and your Perl source code into a single .exe file. This means that with only a moderate amount of work, someone can pick apart that exe and extract the original source - it's not even decompiling at all really. Bearing that in mind, I wholeheartedly agree with the suggestion that what you really need is a solid licensing agreement.
| [reply] |
With PerlApp it's much harder to recover source code than it is with other EXE creators (like pp) but it's not totally impossible. The theoretical method (which I've never tried, just had explained to me) is to load the perl-app created tool into an EXE debugger, run the program partway, dump out the memory contents and find where perl put the compiled opcode tree for the script, and then write a perl script that recreates that opcode tree and uses B::Deparse to rip it apart into perl code.
Unless you're implementing state secrets as CGI scripts, it's almost certainly easier for someone trying to obtain your source code to write whatever your script does themselves from scratch than it is for them to extract it out of a PerlApp executeable.
--
@/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/;
map{y/X_/\n /;print}map{pop@$_}@/for@/
| [reply] [d/l] [select] |
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.
| [reply] |
| [reply] |