My first obfu
mpeg4codec
created: 2006-04-15 02:45:30
Be kind, this is my first obfu! This sad little bit of code was something I hacked together for a birthday card for a friend who knows a little Perl.

Yes, I understand that it's extremely simple and can probably be done in less than one line. But hey, give me a break! It took me a little while to come up with something slightly clever, and I'm proud of what I managed. Sorry, no ``JAPH'' this time.

And if you're wondering, this was my (also) sad attempt at an ASCII birthday cake.

$_='
         $
         _
         =
\'})fer(fi)]1[>-_$x
)]0[>-_$(rhc(tnirp;
fer!fi)_$rhc(tnirp{
)_@(hcaerof;)01,121
,79,001,401,611,411
,501,89,23,121,]2,2
11[,79,401(=_@\';ev
al(reverse(split(//
)))';s/\s//g;eval##
Constructive criticism is greatly appreciated.
Re: My first obfu
created: 2006-04-19 23:38:00

I golfed it down a little and furthered the obfuscation a bit as well, but kept your basic premise. The golfing removes some of the easy readability of your original code garnered by running the likes of:

sed s/eval/print/ mpeg.pl | perl | sed s/eval/print/ | perl | perl -MO=Deparse

Which of course gives us an easy to read, and easy to understand:

@_ = (104, 97, [112, 2], 121, 32, 98, 105, 114, 116, 104, 100, 97, 121, 10);
foreach $_ (@_) {
    print chr $_ if not ref $_;
    print chr($$_[0]) x $$_[1] if ref $_;
}
        $
        _
        =
        '
        $
        _
=\')01,121,79,001
,401,611,411,501,
89,23,121,]2,211[
,79,401(rof)rhc:]
1[_$$x)]0[_$$(rhc
?)fer((tnirp\';s,
,reverse,ee';s'\s
'$_'geex;m,,mgsix

And I just noticed that my version seems a bit harder to handily pick apart with sed | Deparse (or variation thereof) - the de-obfuscator needs to do a bit more work.



--chargrill
$,=42;for(34,0,-3,9,-11,11,-17,7,-5){$*.=pack'c'=>$,+=$_}for(reverse split//=>$*
){$%++?$ %%2?push@C,$_,$":push@c,$_,$":(push@C,$_,$")&&push@c,$"}$C[$#C]=$/;($#C
>$#c)?($ c=\@C)&&($ C=\@c):($ c=\@c)&&($C=\@C);$%=$|;for(@$c){print$_^$$C[$%++]}

perlmonks.org content © perlmonks.org and chargrill, mpeg4codec

prlmnks.org © 2006 edmund von der burg (eccles & toad)

v 0.03