Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Bear is driving?

by teamster_jr (Curate)
on Mar 29, 2006 at 18:17 UTC ( #540024=obfuscated: print w/ replies, xml ) Need Help??

But how is that possible?

This requires GD and will make a file called o.png in the directory from which it is run.
It is based on the "father of the impossible figure" (see what i did with the title now :) ) Oscar Reutersvard's most famous piece,
For those without GD you can see the output here

$_=q^use G;$i=M G::Image(FABL0,L0,L0);J l{$p=M G::C;$$_=ord(D-Lfor qw. +x y.;$p->addPt(($x+=D,($y+=D)while$#_;AfilledC($p,D}J d{E0,0,L,-HL,H-L,H +AB KFEL,HL,-H0,L,-L,HABL,0,0)}J a{d@_;E0,0,0,L,L,H0,-L,ABL,F}$_="]]?l!{!] +!? !!?0]?{N";s#(.)(.)#a"$1","$2";\n#g;/".+;/;$_.="d$&";eval;open Z,">o.pn +g" ;binmode Z;print ZApng^;for$r(qw.$i-> colorAllocate( Polygon shift) l@ +_, KK); GD 10, I sub 153, 20 new.){$l=chr 65+$c++;s#$l#$r#g}s#\n##g;eval
enjoy
al

UPDATE as per Pied's request, a deobfuscated version is available here, with an explanation of what's happening and the obfuscation process...
Update 2 changed link to output as old server is b0rked

Comment on Bear is driving?
Download Code
Replies are listed 'Best First'.
Re: Bear is driving?
by wazoox (Prior) on May 12, 2006 at 20:38 UTC
    I haven't got any output either: Perl 5.8.7 on Debian GNU/Linux x86. The code runs, but has no effect... Any idea?
Re: Bear is driving?
by Pied (Monk) on Apr 03, 2006 at 00:25 UTC
    Impressive !!
    If you could put the clean one somewhere and tell us how you obfuscated this one...

    P!

    Are the monkeys gone yet?
      here is a completely cleaned up version, showing what is actually run:

      HTH
      al

      Considered by teamster_jr: I was thinking of moving this to mediations as an explanation of obfuscation. is it worth it?
      Unconsidered by planetscape: keep votes prevailed (keep:15 edit:3 reap:0)

Re: Bear is driving?
by Nkuvu (Priest) on May 12, 2006 at 18:22 UTC

    Hmm. I'm getting no output. I checked the syntax with -wc and got a few warnings but "Syntax OK" at the end. No o.png file is created, nothing output to screen. And a 404 on the linked output.

    This is perl, v5.8.6 built for darwin-thread-multi-2level (that is, Perl on OS X). Any ideas?

      that's really odd - do you have GD installed? since it's wrapped in an eval without any error handling it will fail silently.

      if you add ||die $! to the end it will tell you what's wrong.(or replace the eval with a print, then run the output with warnings etc).
      oh and i changed the link to the output example.
      al

        I've added the "or die $!" part, and I have a "no such file or directory in popo.pl at line 6". Uh?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: obfuscated [id://540024]
Approved by chargrill
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2015-07-08 07:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (96 votes), past polls