- 论坛徽章:
- 0
|
作者 shakalaca (快快樂樂燒片子~ :p) 看板 Programming
標題 [crack] DVD
時間 Fri Mar 9 10:33:36 2001
來自 Slashdot 的報導。Slashdot 有一名讀者投書指出﹐David Touretzky 博士發表
了一段七行﹑526 位元組的 Perl VOB 反解頻器﹐據說可以破解 DVD 的 CSS 鎖頻。
這個程式是在麻省理工學院一二月間的一堂『DVD 解碼』六小時講座上﹐由兩位 MIT
學生資訊處理委員會的成員所寫出來的。
這段七行的 Perl 程式碼如下:
$_='while(read+STDIN,$_,204 {$a=29;$c=142;if((@a=unx"C*",$_)[20]&4 {$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>;>;8^($f=($t=255)&($d
>;>;12^$d>;>;4^$d^$d/ )<<17,$e=$e>;>;8^($t&($g=($q=$e>;>;14&7^$e)^$q*8^$q<<6))<<9
,$_=(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))
[$_]^(($h>;>;= +=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
另外還有一個版本﹐只比上面那段多了五個位元組﹐據說速度就能快到讓一段電影即時
解密:
$_='while(read+STDIN,$_,204 {$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]&4 {$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/ )<<17,$e=$e>;>;8^($t&($g=($q=$e>;>;14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>;>;= +=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
Touretzky 博士自己也成立了一個網頁﹐專門收集 CSS 解密的方法。該網頁上說明了
這段名為 qrpff 的程式的用法:
cat /mnt/dvd/VOB_FILE_NAME | qrpff 153 2 8 105 225 | extract_mpeg2 | mpeg2dec |
|