After seeing
how easily jdalbec deobfuscated
my last piece of obfuscated code, I decided to present you with yet another challenge...
#!/usr/bin/perl
open(eval STDIN,$0);$==@ARGV=<> ;@
h=split//,shift;$-=@ARGV;{local$"=
't';($b="@{[@h[3,4]]}")=~y~st~ts~;
}$h=ucfirst join'',@h[-5..-2],$ ";
&39;$ b=$h[0].$ b.$ ";print $b;@h=
split//,shift;@_=map{lc}@h[$=-3**2
,$=%($-/3)+2,2**4-$=,(1x2)x2,2,@h-
10,3**(@h%3)];print@_[0..3],'h',@_
[5..@ARGV/2],$h,h;$h=~s/^.//; $h=~
s/...$//;@ h=@h[0..(((length$ARGV[
6])-5)/2)];&{-14}&&print$h[0];&14;
print map lc,@h[&1+6,6*2+&1];print
$h,$h[1];print@h[&{-2}+1];$ARGV[0]
;sub AUTOLOAD{(($a=$ AUTOLOAD))=~s
s.*::sss;$_=chr($a+ord$_)for@h;$a}
Not too hard to deobfuscate, but harder than the previous one, I'd hope... If you don't agree, try using Perl::Tidy on it and running it again... ;-) You'll see what I mean O:-)
Nevertheless, it's not that complicated in the end :-)