dvd secret code

greenspun.com : LUSENET : Xtra Xtra, This Is Your Place : One Thread

http://www.wired.com/news/culture/0,1284,42259,00.html Descramble That DVD in 7 Lines by Declan McCullagh (declan@wired.com) 9:00 a.m. Mar. 7, 2001 PST CAMBRIDGE, Mass. -- Descrambling DVDs just got even easier, thanks to a pair of MIT programmers. Using only seven lines of Perl code, Keith Winstein and Marc Horowitz have created the shortest-yet method to remove the thin layer of encryption that is designed to prevent people -- including Linux users -- from watching DVDs without proper authorization. Their "qrpff" program is a more compact cousin of the DeCSS utility that eight movie studios successfully sued to remove from the website of 2600 Magazine. But unlike DeCSS, qrpff is abbreviated enough for critics of the Motion Picture Association of America to include in, for example, e-mail signature files -- and many already have. "I think there's some value in demonstrating how simple these things really are and how preposterous it is to try to restrict their distribution," says Winstein, a 19-year-old MIT sophomore computer science major. [...] Usage: qrpff 153 2 8 105 225 /mnt/dvd/VOB_FILE_NAME | extract_mpeg2 | mpeg2_dec -

#!/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

-- Anonymous, March 08, 2001




-- Anonymous, March 08, 2001

Moderation questions? read the FAQ