I was wondering through the monastery just now and I bumped onto a node on Source Code Encryption... Someone mentioned World Wide Perl Coder and I was intrigued how exactly this would work. I fired up Wine and installed the app. It warned me I needed at least a 433 mhz CPU and that this program would suck up all resources. It would also take at least 0 minutes to process source code. Now, that REALLY got me wondering how magical this all was. So I threw a simple Hello World snippet at it and it processed it in under a second (figures). So what did it generate??
An Obfu.
How the output looks like
Now, a few things struck me immediatly. First, it's storing the plain source code in there, causing perl to b0rk (2 points in 1 go). Secondly, it's basically stuffing 2 vars with "unreadable data". The first mostly filled with digits with the usual marker in there somewhere. The second is a huge concatenation of chr sequences. Next it evals that second var into something that basically reads from DATA, unpacks it into code and eval's it. That eval'ed code basically reads the first params, removes a few chars (they're obviously in there to confuse ppl), split on that obvious marker, unpack it and eval it.
Now, another thing is that this is a trial. The coder itself expires at some point (I think), the encrypted code isn't. Any normal perl programmer would figure this out in 2 seconds and rewrite it (in perl) in 5. There is no real art to this obfu, no great mystery behind the encryption. I can only hope that the full version has a totally different, (actual) encryption.
I'm not promoting Filter::CBC but at least THAT is real encryption.