perl -MO=Deparse script.pl
Yields:
Yick! What is this program supposed to do anyway?++$|; undef $/; $_ = $e || <ARGV>; tr/+-.<>[]//cd; foreach $a (']}', '[while($p[$p]){', '-$p[$p]--', '+$p[$p]++', ',$p[$p +]=ord(getc)', '.print(chr($p[$p]))', '<$p--', '>$p++') { s/\Q${\substr($a, 0, 1);}\E/${\substr($a, 1);}\n;/g; } eval $_;
Updated
Here's my second pass at looking at this. Look at the elements in the foreach loop. The left most character of the element is what is looked for in the replacement and the rest of the element it what a match is replaced with.
This input
Produces this output[ < - ]
Could this be a home brew macro language parser? jeffa agree's with this idea.while($p[$p]){ ;$p-- ;$p[$p]-- ;} ;
/\/\averick
perl -l -e "eval pack('h*','072796e6470272f2c5f2c5166756279636b672');"
In reply to Re: explain obfu code
by maverick
in thread explain obfu code
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |