Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
Perl-Sensitive Sunglasses

Re: My first obfu

by chargrill (Parson)
on Apr 20, 2006 at 03:38 UTC ( #544503=note: print w/ replies, xml ) Need Help??

in reply to My first obfu

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/ | 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.

$,=42;for(34,0,-3,9,-11,11,-17,7,-5){$*.=pack'c'=>$,+=$_}for(reverse s +plit//=>$* ){$%++?$ %%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[$%++]}

Comment on Re: My first obfu
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://544503]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2014-04-20 02:31 GMT
Find Nodes?
    Voting Booth?

    April first is:

    Results (485 votes), past polls