Forum Moderators: coopster & phranque

Message Too Old, No Replies

I haven't a clue

         

BoneHeadicus

1:00 am on Mar 13, 2001 (gmt 0)

10+ Year Member



I happened upon this and it's supposed to be something to do with encryption of some sort. Perhaps one of you gents could put it to use somewhere.

#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256¦(ord$b[4])<<9¦ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval

153 2 8 105 225

sugarkane

9:51 am on Mar 13, 2001 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Ugh. That's one ugly bit of code. Very clever, though, I'm sure.

grnidone

6:55 pm on Mar 13, 2001 (gmt 0)



Sugar,

Is there a reason one would write code like that? (The hideous part, I mean.)

-G

msgraph

7:02 pm on Mar 13, 2001 (gmt 0)

sugarkane

7:12 pm on Mar 13, 2001 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



There's a few reasons, really. One is that perl does lend itself to that kind of coding, with all its 'special variables' such as $_ $/ etc and heavy use of regular expressions. It's quite easy to drift into incomprehensibility if you're not careful (or just lazy ;) by using all the shortcuts available to you.

The main reason though, and this code is a definite example, is 'Obfuscated Perl'. There's a whole culture grown up around writing incomprehensible code snippets as a means of showing just how clever you *really* are, dammit. It's a bit of fun (for some, I'm waay to sensible / unadvanced to get involved) and not something anyone would really do in a proper program.

See The Perl Journal [tpj.com] for more examples.

Added: Nice find msgraph. Fair enough, this snippet does have a point, but it's still a stunt. It doesn't need to look the way it does.

BoneHeadicus

7:37 pm on Mar 13, 2001 (gmt 0)

10+ Year Member



Har-D-Har

With me patch on me eye and me hook for a hand methinks me code is pretty darn good for a pirate.

littleman

7:37 pm on Mar 13, 2001 (gmt 0)



Related links:
[slashdot.org...]
[opendvd.org...]

"If code that can be directly compiled and executed may be suppressed under the DMCA, as Judge Kaplan asserts in his preliminary ruling, but a textual description of the same algorithm may not be suppressed,
then where exactly should the line be drawn? This web site was created to explore this issue, and point out the absurdity of Judge Kaplan's position that source code can be legally differentiated from other forms of
written expression."
[cs.cmu.edu...]
An fascinating link..

Marn

10:57 pm on Mar 25, 2001 (gmt 0)



wow, littleman

That is something to read....
Thanks for the link. Always too much to read.

theperlyking

8:19 am on Apr 2, 2001 (gmt 0)

10+ Year Member



Wow, dont you just love perl!

backus

2:06 pm on Apr 2, 2001 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Er...no.