On Mon, 24 Jan 2005, Manas Kulkarni wrote:

> I would like to convert my perl script into a binary executable before 
> deploying it on a client machine

Why?

If you want security, this won't get you much.

This is a dead end, and also a Frequently Asked Question.

It is basically not possible to do what you're asking for. There are 
tools to turn a plain-text Perl script into a binary executable, but 
none of them are very effective at obscuring the code's functionality.

You'd have better luck by writing really really bad Perl, with vague 
variable names, lots of misdirections in the code itself, etc. (See, for 
example, Damian Conway's "SelfGOL".) You would, in effect, write the 
kind of line noise that gives Perl a bad reputation. 

But I don't actually think anyone should do this (except Damian Conway, 
but then he was trying to make a point with SelfGOL).

If you *really* want your code to be protected, reconsider your system's 
architecture, and find a way to have your code running on a machine 
where *you* are the only one in control of it. This ends up being the 
server and the encapsulation of all the system's interesting logic. On 
the machines you can't control, you have a simple, uninteresting client 
that accesses your secure part via some sort of API; for example, you 
could set it up as a web application, or by email, or RPC, etc. 

But if the code is running on a system you don't control, it will 
*always* be possible to reconstruct the code's original functionality.

 


-- 
Chris Devers

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to