Your skill will accomplishwhat the force of many cannot PerlMonks

### Code eating code

by cog (Parson)
 on Mar 28, 2005 at 11:24 UTC Need Help??

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]
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 :-)

Replies are listed 'Best First'.
Re: Code eating code
by jdalbec (Deacon) on Mar 29, 2005 at 04:22 UTC
Actually I thought STDOUT of here was quite challenging and educational. Perhaps I made my analysis a bit too tidy. Some of the insights I had into your program were things I really hadn't considered before. I'm afraid I have to disagree with you on Code eating code. Your Perl::Tidy suggestion was kind of a tip-off about what you're doing. Tidying does break the code, but...
Your Perl::Tidy suggestion was kind of a tip-off about what you're doing.

That was on purpose. Given that the first line of code started with open(eval STDIN,\$0);, I figured that there was no point hiding what was going on :-)

Anyway, only after I posted it did I realize it would only take a copy of the original file and a substitution of \$0 by the copy name in order for it to still work :-) duh! :-)

Create A New User
Node Status?
node history
Node Type: obfuscated [id://442774]
Approved by b10m
Front-paged by grinder
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2019-06-19 12:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Is there a future for codeless software?

Results (88 votes). Check out past polls.

Notices?