in reply to One-liner .sig
Cogent takes a shot at his first de-obfuscation...
So, we have three things going on: A substitution,a transliteration, and an eval. (Which, had I realized it, I could've found out from the Function Nodelet.)
All three of the operations are working directly on $_. The first, the substitution, does the easy part: it replaces the only thing in $_, a zero-width beginning-of-line metacharacter, with some predetermined text:
gps%o)nbq|3++sboe~1//24*|qsjou)qbdl)#d#-75+)tjo)%o+%`*,2***gps)1//777* +<~
Now $_ contains something useful. In a manner of speaking. Then the code transliterates that into something truly useful, by changing everything between ASCII 35 and ASCII 126 to be between ASCII 34 and ASCII 125. It drops everything down a place. Basically your simple caesar cipher. That gives us:
for$n(map{2**rand}0..13){print(pack("c",64*(sin($n*$_)+1)))for(0..666) +;}
which is much more readable, especially if you have an eager newbie with something to prove ( :-) ) here to help you out:
for $n (map {2**rand} 0..13) { print ( pack ("c", 64*(sin($n * $_)+1))) for(0..666); }
For fourteen times: It takes two, raises that to the power of some random number, and uses that as the frequency of a sine wave. The duration of said sine wave is specified by the 666. So, for the duration (that is, for 667 iterations of a loop), the code makes a byte and sends it to /dev/dsp. So there's your sound.
Whew!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: One-liner .sig
by a (Friar) on Dec 12, 2000 at 09:50 UTC |