#!/usr/bin/perl use strict; use integer; $a=1;print chr($a=($a<<$a<<$a<<$a<<$a<<$a<<$a++|$a<<$a|--$a<<$a)); pri +nt chr( $a=($a>>($a**($a>>$a))+($a**($a>>$a))>>($a**($a>>$a))>>($a**($a>>$a))< +<($a**( $a>>$a))<<($a**($a>>$a))<<($a**($a>>$a))<<($a**($a>>$a))|($a**($a>>$a) +)));print chr($a=(--$a|($a==$a)<<($a==$a)<<($a==$a)<<($a==$a)<<($a==$a)));print +chr($a= ($a>>($a>>(($a==$a) + $a**($a>>$a)<<($a==$a)))<<($a==$a)<<($a**($a^$a) +))+($a **($a^$a))<<(($a==$a)<<($a==$a)|($a==$a)));

--
It's not pessimism if there is a worse option, it's not paranoia when they are and it's not cynicism when you're right.

Replies are listed 'Best First'.
Re: My offering...
by LAI (Hermit) on Sep 17, 2002 at 21:19 UTC

    Bitshifting is fun and all, but the way you've used it it's not tremendously obfuscated. A quick scan of the code shows print chr(...); four times, so I immediately knew (as I had already guessed) that you would manipulate $a until it matched the right character code, then print it until you had done a whole Japh.

    I do appreciate the variety of operations you perform on $a. But you might do better to hide a bitshift among other stuff. It can be confusing and frustrating to be going through an obfu, trying to figure out why the hell it works when according to what you've figured out on paper it should be slipping into an infinite loop or something, and then noticing that bitshift in the middle that shifts by some variable that had just changed its value and slapping yourself for not realizing it earlier. In any case, an obfu made up mostly of bitshifts and algebra is generally not especially challenging.

    That said, I've seen a hell of a lot worse :o)


    LAI
    :eof