DeCSS
DeCSS - программа для чтения и перекодирования DVD дисков. Программа написана двумя анонимусами и норвежским программистом Йоном Йохансеном. Её текст был запрещен, и за распространение судили. Однако коллективное сопротивление победило и код программы опубликован даже в Википедии.
Формат DVD позволяет записывать на компакт-диске информацию в три раза плотнее, чем обыкновенный CD Audio протокол. Это делает возможным записывать и просматривать видео-фильмы с болванок, по вид не отличающихся от компакт-дисков. Чтобы не вышло как с компакт-дисками (которые используются кем угодно, в том числе и для нарушения копирайта) формат, в котором записываются DVD-фильмы, защищен специальной шифровательной программой, которая называется CSS (Content Scrambling System), которая является торговым секретом (это вроде патента, но в отличие от патента, торговый секрет не публикуется). Чтобы написать DVD-плэйер, требуется лицензия хозяев "торгового секрета"; из-за этого никаких DVD-плэйеров (по крайней мере, легальных) под Линуксом и прочими операционными системами (кроме Windows и Макинтошей) нет.
Особого смысла в этой шифровке нет; точнее, этот смысл состоит в том, что (вместе с DMCA) CSS позволяет ограничивать распространение нелицензионного софта и железа для чтения DVD. Дело в том, что все DVD помечены зональным кодом, соответствующим одной из семи зон, в которой эти DVD произведены (например, Россия принадлежит к одной зоне с Африкой и Средней Азией). В легально (т.е. не в Китае) произведенных DVD-плэйерах стоит защита, позволяющая данному плэйеру играть только те диски, которые произведены в его родной зоне. Нужно это для того, чтобы официально выпущенный на диске в одной зоне фильм можно было бы не выпускать в другой зоне, а показывать в кинотеатрах (в которые, после выхода фильма на DVD, никто особенно не ходит). Предполагается, что алгоритм CSS служит для регулировки выпуска плэйеров, с целью защиты дисков от чтения в посторонних зонах. От копирования DVD эта система, что забавно, не защищает. Зато, до появления расшифровщика, из этих самых дисков DVD было невозможно получить эти же самые фильмы в открытом формате; или посмотреть их из-под Линукса.
Алгоритм CSS очень слаб и легко взламывается. Осенью 1999 года норвежский подросток Йон Йохансен, которому тогда было 15, выпустил программу под названием DeCSS; эта программа смотрела зашифрованный DVD и выдавала записанный на нем фильм в открытом формате MP2. Разумеется, программа была некоммерческая и с открытым исходником; DeCSS задумывался как средство, которое позволит смотреть DVD под Линуксом.
Приоритет в написании первого дескрамблера (расшифровщика) принадлежит хакеру по имени "Dod (Drink or Die) Speedripper", обнаружившему расшифровательный алгоритм в сентябре 1999, путем дизассемблирования программы Xing.
В настоящий момент написанны сотни различных версий DeCSS; ученый Carnegie Mellon University Дэйв Турецкий составил небольшую галерею разных версий DeCSS; в том числе красивая акустическая баллада на текст DeCSS, переведенный с языка C на английский специальной программой. Баллада сия, по причине ее противозаконности, была запрещена сервером mp3.com.
Дескрамблер занимает всего несколько строчек - например вот (на Перле)
- !/usr/bin/perl
- 472-byte qrpff, Keith Winstein and Marc Horowitz
- MPEG 2 PS VOB file -> descrambled output on stdout.
- usage: perl -I :::: qrpff
- where k1..k5 are the title key bytes in least to most-significant order
s$/=\2048;while(<>){G=29;R=142;if((@a=unqT="C*",_)[20]&48){D=89;_=unqb24,qT,@ b=map{ord qB8,unqb8,qT,_^$a[--D]}@INC;s/...$/1$&/;Q=unqV,qb25,_;H=73;O=$b[4]<<9 |256|$b[3];Q=Q>>8^(P=(E=255)&(Q>>12^Q>>4^Q/8^Q))<<17,O=O>>8^(E&(F=(S=O>>14&7^O) ^S*8^S<<6))<<9,_=(map{U=_%16orE^=R^=110&(S=(unqT,"\xb\ntd\xbz\x14d")[_/16%8]);E ^=(72,@z=(64,72,G^=12*(U-2?0:S&17)),H^=_%64?12:0,@z)[_%8]}(16..271))[_]^((D>>=8 )+=P+(~F&E))for@a[128..$#a]}print+qT,@a}';s/[D-HO-U_]/\$$&/g;s/q/pack+/g;eval
См. также
Ссылки
Эта статья содержит текст из Книги Антикопирайт Миши Вербицкого. Так же, как и этот проект, книга опубликована на условиях лицензии GNU FDL. |