Re: What happened to perlcc?
by ikegami (Patriarch) on Dec 03, 2007 at 13:32 UTC
|
perlcc has been removed from Perl effective Perl 5.10. It and the underlying modules have always been out of date, broken and unmaintained.
Officially (from the 5.10.0 RC2's perl5100delta),
perlcc, the byteloader and the supporting modules (B::C, B::CC, B::Bytecode, etc.) are no longer distributed with the perl sources. Those experimental tools have never worked reliably, and, due to the lack of volunteers to keep them in line with the perl interpreter developments, it was decided to remove them instead of shipping a broken version of those. The last version of those modules can be found with perl 5.9.4.
However the B compiler framework stays supported in the perl core, as with the more useful modules it has permitted (among others, B::Deparse and B::Concise).
| [reply] [Watch: Dir/Any] [d/l] |
|
I actually use perlcc for a project I'm working on. The environment is tinycore 4.7 x86 and the version of perl there (which appears to be 5.14!) seems to work very well with perlcc. I have had absolutely no problems compiling and running on various x86 systems (using CFLAGs for generic x86 architecture).
As I recall, I just installed the module manually... and it worked.
| [reply] [Watch: Dir/Any] |
|
Yes, Reini Urban has since fixed it and has been maintaining it as part of B::C
| [reply] [Watch: Dir/Any] |
Re: What happened to perlcc?
by moritz (Cardinal) on Dec 03, 2007 at 13:35 UTC
|
Afaict nobody seemed to have enough knowledge, time and interest to maintain it, and since it's been buggy for years it was removed from bleadperl. | [reply] [Watch: Dir/Any] |
Re: What happened to perlcc? (useless?)
by tye (Sage) on Dec 03, 2007 at 18:21 UTC
|
Wasn't part of the reason that nobody was maintaining it was because it was meant to be a way to start a Perl script faster that turned out to be much slower? So even when you didn't run into a bug, it was slow enough to be of little value. If somebody wanted it as a way to hide source code, then the existence of B::Deparse likely makes it at least much less than foolproof.
So I thought it was an interesting idea that turned out to be rather useless and hard to maintain so it was no surprise that it wasn't maintained. But I only ever paid peripheral attention to it.
| [reply] [Watch: Dir/Any] |
Re: What happened to perlcc?
by KurtSchwind (Chaplain) on Dec 03, 2007 at 14:24 UTC
|
As others have said, it wasn't in sync and so it was removed.
To be honest, I wish we did have an active perlcc that was kept up to date. But keeping it up to date is a huge challenge considering how quickly perl moves.
--
I used to drive a Heisenbergmobile, but every time I looked at the speedometer, I got lost.
| [reply] [Watch: Dir/Any] |
Re: What happened to perlcc?
by syphilis (Archbishop) on Dec 04, 2007 at 06:18 UTC
|
and what people ended up doing in the past 5-6 years since they wanted to compile their perl code
Many of them would have used the freely available PAR. (More specifically, they would have used PAR's pp utility.)
Cheers, Rob | [reply] [Watch: Dir/Any] [d/l] |
Re: What happened to perlcc?
by rurban (Scribe) on Aug 07, 2008 at 14:28 UTC
|
| [reply] [Watch: Dir/Any] |
|
Hi ,
My aim is to hide the perl code from end user and I am looking at either of the options of encrypting it or converting to some executable.perlcc is showing some errors in my case .perl2exe doesn't provide any licence (in free version) ,so I can't use at company level.
Can any monk provide some pointers ,how to go about from here i.e. either tweaking with perlcc to make it work or some other tool !!
Thnx
| [reply] [Watch: Dir/Any] |
|
| [reply] [Watch: Dir/Any] |
|
Re: What happened to perlcc?
by daveola (Sexton) on Oct 26, 2010 at 19:46 UTC
|
I agree and couldn't understand why such a tool didn't exist, so I wrote one:
http://marginalhacks.com/Hacks/perlc/
(Posting here on this old post so people searching for such a solution can find it)
| [reply] [Watch: Dir/Any] |
|
That's nothing at all like perlcc. perlcc stored compiled Perl code, possibly in a machine-independent manner. Rather than a working perlcc, you seem to want an obfuscation tool.
Your tool fails at obfuscation too. The first thing the generated program does is decode the entire script into one variable. Dump that variable, and the source is recovered.
No attempts whatsoever at obfuscation are attempted except for the option to use Acme::Bleach on the source. That means, your tool is just a very restrictive version of Acme::Bleach. Why not just use Acme::Bleach?
Needs a lot of work.
PS — Acme::Bleach can be reversed using unbleach.pl.
| [reply] [Watch: Dir/Any] |
|
| [reply] [Watch: Dir/Any] |
|
"No attempts whatsoever at obfuscation are attempted
except for the option to use Acme::Bleach"
False. Source code is also obfuscated using a simple key to avoid extracting the string from the executable.
"Dump that variable, and the source is recovered."
And how would they do that?
Yes, if they know how to run a debugger on an executable that is compiled without debugging symbols and can figure out how to get the data out of that symbol, then they can get your source. Do you know how to do that?
And regardless, I refer you to the perlc page itself which states:
Ignoring the practicality of hiding the code in most situations just because someone can get the code is like deciding to not lock your house anymore, just because locks can be picked.
Yes. Someone can get in. That doesn't mean there is no reason to try to make it difficult. I'm glad that you are (possibly) clever enough to get the data out of a perlc obfuscated program. Most people are not.
Again, if you don't want to use an obfuscator than don't. Many people find them useful. You may find them foolish. Some people may think it's foolish to lock your house up. That's fine as well.
Enjoy!
| [reply] [Watch: Dir/Any] |
|
|
|
|
|
|
Awesome work. Just the tool we need! Seems to work easily and properly.
| [reply] [Watch: Dir/Any] |
|
Great sarcasm, really funny!
| [reply] [Watch: Dir/Any] |
|