No, you can't. You can obscure your source code that way. Any means of distributing your program such that it still goes through a normal perl compile-to-optree, execute-optree cycle means that the source code is still available for the compiler to turn into an optree. This means that a properly motivated person could get your source code back.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).
| [reply] [Watch: Dir/Any] |
ByteLoader anyone? Yeah I know it's still experimental, but ....
Java is compiled into bytecode, doesn't make the source any more secure ...
Same goes for compiled programs , sure they're more obscured but you can turn it into asm real easy, and that's source code ...
Has anyone recovered perl sourcecode from ByteLoader? I don't know (what was my point? right, nothing is safe, bytecode is possible)
MJD says you
can't just make shit up and expect the computer to know what you mean, retardo!
** The Third rule of perl club is a statement of fact: pod is sexy.
|
| [reply] [Watch: Dir/Any] |
Sure, I do it all the time -- B::Deparse basicly does that. There'd be some issues getting it done, but it's certianly doable. It'd be rather difficult getting back to perl source out of the real C backend -- the one that converts your perl source into C code. Of course, that's highly expermental, to the point where I've never even heard of anybody thinking of using it.
As far as decompling Java, have you ever tried doing it? It's valid Java sourcecode, most of the time, but is far from easy to use. Perl's much more introspective, however, and the bytecode is closer to the language. Most importantly, you don't loose the names of variables, since they're still relevant at runtime in perl.
Dissesembling compiled executables is easy, but making heads or tails of the assembley is much harder -- you loose lots of high-level information that asm simply doesn't have the concept of.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).
| [reply] [Watch: Dir/Any] |