|dive into perl|
The best you can do is obfuscate your code, but even the best obfuscator can be turned back to plain perl source code with modules like Deobfuscate.pm [search.cpan.org] and Tidy Perl.
So I wouldn't bother, just write a good license stating what can and can't be done with your code.
Wow, Linda that is great! You've come a long way in your perl skills, by the sounds of it! Well done!
There are a number of perl compilers available for a variety of platforms. Just do a search. (Kind of goes against Larry Wall's principles 'though ;)
To solve the configurable variables thing, have the values read in from an external config file.
LOL Shawn, you make it sound as if i've become an expert. well... not really but i have learnt quiet alot and thanx again for all your help
Linda, Perl 5.8 can compile down to C code, which you can then compile to a regular binary. This is not officially guranteed to work in all cases, but I know a fairly sophisticated network app that has been "protected" this way and it seems to work well.
I'm not sure that will help in this case. Linda is trying to protect code that she distributes. Not code that is under her control on a webserver.
....Unless I am missing something
There are commercial perl packages that require mod filter be installed.
Sorry Brett, pehaps I'm just slow, but I'm still not getting it... Can you or someone enlighten me. How can mod filter help hide your perl source from say a customer who you provide the source to, or from the ISP that supplies the server that the application resides on? I hope that doesn't come across as 'challenging'. I'm not meaning to contradict, just trying to understand how.
i thit a quick search with google and found these two apps;
they claim to encrypt source code
so its harder toread the pure coding ....
one perl encrypter cost $19.95 is pc program
the other is a perlscript cost $150 for few months ;-(
but has powerfull md5 encryption.
i agree a good user lisence is better then encryption.
[edited by: sugarkane at 7:35 pm (utc) on July 21, 2003]
[edit reason] Delinked URLs [/edit]
you could wait for perl6, has most of this built in... (compiled executables for dist., etc.)
could you explain how this works:
(compiled executables for dist., etc.)
it encrypts the scrips automaticly?
or just prints out converted coding to browser?
|"...they claim to encrypt source code so its harder toread the pure coding ..." |
I'd suggest a compiler rather than something that mangles your code to obfuscate it. The advantages of a compiler are speed of execution and better resiliance to being hacked. The disadvantage is cross-platform portability. I mentioned in a previous post (msg #3) that there are plenty perl compilers about. As a couple of examples, see "Perl2.exe" (creates an executable for windows platforms) and see "PerlApp", which comes bundled with ActiveState's Perl Dev Kit, and can produce binaries for HP-UX, Linux, Solaris, and Windows.
|"... i agree a good user lisence is better then encryption..." |
I must protest in the most vehement form! Good computer security basics is the same as physical security. Put strong and obvious padlocks on your gates, not a sign which says "Thieves will be prosecuted". Security experts put it this way: You have to help the honest man stay honest. Sure, put the sign out, and have your premises protected with an alarm system, but also put the obvious deterents in place and make your valuables hard to steal, out of the reach of temptation. If you are a small operator without the time or resources to defend the licence agreement, it is not worth much.
|"...could you explain how this works: (compiled executables for dist., etc.) ..." |
My understanding is (feel free to jump in if I'm wrong): Perl 6 will come with a runtime environment called Parrot, which runs bytecode. Your Perl source would be compiled down to byte code which is what you would distribute. Note that Perl 6 will have some substantial differences from Perl 5.x, although Perl 5.x will be able to be automatically ported, persumably with some utilities which will come with Perl 6.
Shawn -- perfectly explained... ;)