#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz
# 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
Yep, thats it, crack the DVD encryption in a mere 7 lines of obfuscated perl. This new crack, named qrpff, provided by an MIT sophomore is the newer, more concise version of DeCSS.
The author of this program agrees with my sentiments in other stories and rants on TotSP that this information CANNOT reasonably be protected. The recording, motion picture and other industries need to deal with reality and develop new delivery methodologies that recognize and embrace this.
This little brazen piece of code is interesting on many levels, including the hornets nest of the bru ha ht that will now commennce just because it exists.
Check out more detials like why this program does NOT violate the Digital Millenium Copyright Act while DeCSS does via the wired link -->. wired perl DVD crack story
Comments
Re: qrpff: the 7 line perl DVD crack
See, atrox, I told you that perl was decidedly cool.
:p
Re: qrpff: the 7 line perl DVD crack
just because you CAN do something doesnt mean you SHOULD. you could do this with a number of languages and it probably wouldnt look like a hairball coughed up by bill the cat (ie perl)
Re: qrpff: the 7 line perl DVD crack
Coughed up by Bill the Cat. Good one. I acquiesce.
Wait, no I don't. I just haven't thought of a good one yet.
I will....
maybe....