發信人: feifeijs (大公豬), 信區: GNULinux
標題: 用七行Perl 程式將DVD 解密?
發信站: 飲水思源站(Fri Mar 9 08:20:11 2001)
轉信來自Slashdot 的報導。
Slashdot 有一名讀者投書指出,David Touretzky 博士發表了一段七行、526 位元組的Perl VOB 反解頻器,
據說可以破解DVD 的CSS 鎖頻。 這個程式是在麻省理工學院一二月間的一堂『DVD 解碼』六小時講座上,由兩位MIT 學生資訊處理委員會的成員所寫出來的。
這段七行的Perl 程式碼如下:
$_='while( read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){
$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])<>8^
($f=($t=255)&($d>>12^$d>>4^$d^$d/8))<>8^($t&($g=($q=$e >>14&7
^$e)^$q*8^$q<<6))<>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"
C*",@a}';s/x/pack+/g;eval
另外還有一個版本,只比上面那段多了五個位元組,據說速度就能快到讓一段電影即時解密:
$ _='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^=(7
2,@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])<>8^($f=$t&($d>>12^$d>>4^$d^$d
/8))<>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<>=8)+=$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 -
--
※來源:· 飲水思源站bbs.sjtu.edu.cn· [FROM: 202.120.7.27]
※ 編輯: ott 時間: 2014-03-05 04:51:05
標題: 用七行Perl 程式將DVD 解密?
發信站: 飲水思源站(Fri Mar 9 08:20:11 2001)
轉信來自Slashdot 的報導。
Slashdot 有一名讀者投書指出,David Touretzky 博士發表了一段七行、526 位元組的Perl VOB 反解頻器,
據說可以破解DVD 的CSS 鎖頻。 這個程式是在麻省理工學院一二月間的一堂『DVD 解碼』六小時講座上,由兩位MIT 學生資訊處理委員會的成員所寫出來的。
這段七行的Perl 程式碼如下:
$_='while( read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){
$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])<>8^
($f=($t=255)&($d>>12^$d>>4^$d^$d/8))<>8^($t&($g=($q=$e >>14&7
^$e)^$q*8^$q<<6))<>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"
C*",@a}';s/x/pack+/g;eval
另外還有一個版本,只比上面那段多了五個位元組,據說速度就能快到讓一段電影即時解密:
$ _='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^=(7
2,@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])<>8^($f=$t&($d>>12^$d>>4^$d^$d
/8))<>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<>=8)+=$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 -
--
※來源:· 飲水思源站bbs.sjtu.edu.cn· [FROM: 202.120.7.27]
※ 編輯: ott 時間: 2014-03-05 04:51:05
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 922
回列表(←)
分享