Zabezpieczenia płyt optycznych
Zabezpieczenia płyt CD/DVD na
wybranych przykładach
W każdym państwie są inne przepisy odnośnie
kopiowania krążków CD/DVD, w Polsce można zrobić
kopię softu na własny użytek, pod warunkiem, że
posiadamy oryginał i nie będziemy owej kopii
rozprowadzać.
Typy zabezpieczeń płyt CD/DVD
Pierwotne metody zabezpieczeń:
Sprawdzanie obecności płyty – nawet nie można
nazwać tego zabezpieczeniem, metoda sprawdza
tylko czy nośnik jest w napędzie czy też nie.
Nieprawidłowy TOC – Table of contents, to mały
fragment płyty z informacjami co się na niej znajduje.
Gdy informacje te są nieprawidłowe, program do
przegrywania mógł odmówić współpracy z tą płytką
(obecnie prawie każdy soft sobie z tym poradzi).
Zbyt duża wielkość płyty – wystarczy do
nagrywania wykorzystać nośnik większej objętości lub
cieszyć się dobrodziejstwem opcji overburning.
Błędy fizyczne – część płyty (np. pierścień 1mm)
zawiera fizycznie uszkodzone dane, często taki
fragment płyty widać gołym okiem.
Zabezpieczenia
TAGES
SAFEDISC
SECUROM
Tages
Na płytę CD nanoszone są dwa ograniczenia: sprzętowe i
programowe.
Sprzętowe
Na zabezpieczonej płycie jest nanoszona jedna sesja, w
której są zwykłe dane - następnie jest utworzony odstęp o
szerokości (licząc w milimetrach od 2 mm do 1,5 cm).
Po tej przerwie znajdują się sektory wypełnione danymi.
Sektory te nie są wpisane w tablicy zawartości (TOC) i dzięki temu
żaden napęd CD-ROM nie jest w stanie prawidłowo odczytać takiej
płyty.
Dzieje się tak, ponieważ napędy CD-ROM po odczytaniu
informacji zawartych w tablicy zawartości (TOC) nie
pozwalają programom takim jak CloneCD czy BlindRead
odczytać dodatkowych sektorów umieszczonych na płycie
CD.
Obraz tak zabezpieczonej płyty po jego zgraniu na dysk
twardy nie wykazuje żadnych błędnych sektorów.
Zasada działania sprzętowego
zabezpieczenia TAGES
1 MB strefy
zabezpieczonej
zawiera:
decydujące
dane gry,
klucze
kodowania oraz
inne nieznane
elementy
Pozostała część
płyty zawiera:
niekrytyczne
dane i
rozmyślnie
zmodyfikowaną
aplikację.
Tages
Programowe
Zabezpieczenie programowe polega na wielostopniowym
szyfrowaniu pliku wykonywalnego.
Tak zabezpieczony plik exe posiada wiele pułapek i
niedogodności, które - według autorów zabezpieczenia -
mają utrudnić życie crackerom (w przypadku Moto Racer 3
źle skopiowany program zamienia się w wersje demo).
Do odczytu sektorów nie wpisanych w TOC firma tworząca
TAGES musiała stworzyć specjalny sterownik umożliwiający
odpowiednią weryfikację CD.
Producenci podają, że choć zabezpieczenie powstało już kilka
lat temu nie istnieje możliwość zrobienia kopii w formie 1:1.
Oświadczyli nawet, że nigdy nie będzie to możliwe w
domowych warunkach - niezależnie od posiadanej
nagrywarki/firmware czy też software'u.
http://www.tagesprotection.com/main.htm
Tages
Ochrona przed emulacją
Czarna lista oprogramowania emulującego – metoda
skuteczna, ale szybko tracąca aktualność.
Zabezpieczenie Tages podejmuje takie kroki aby emulator
nie był w stanie wykonać wszystkich a zarazem licznych
kroków wymaganych do emulacji.
Tages
Najprawdopodobniej
najlepszym
rozwiązaniem
na
skopiowanie tego zabezpieczenia byłoby opracowanie
nowego standardu odczytu (np. CD-AT-ONCE), który
spowoduje odczyt całej płyty CD (fizycznie całej czyli odczyt
każdego sektora płyty CD będzie musiał trwać aż do chwili
gdy laser "dojedzie" do fizycznego końca nośnika),
W przypadku Disc-At-Once odczyt płyty CD jest
dokonywany tylko na podstawie TOC. Dodatkowo sektory
umieszczone poza wpisem w TOC są najprawdopodobniej w
formacie AUDIO (lub podobnym), ponieważ nie posiadają
one oznaczeń sektorów (czyli dla każdego sektora nie jest
wyznaczana korekcja danych).
Przykład gry zabezpieczonej Tagesem:
Moto Racer 3.
Anno 1701
Gra zabezpieczona systemem
TAGES – Anno 1701
SafeDisc
Zabezpieczenie to zawiera „słabe” sektory, które powodują
problemy synchronizacji u pewnych nagrywarek.
Czarna lista oprogramowania emulującego.
Sprawdzanie kodu ATIP płyty.
Kod ATIP (ATIP - Absolute Time In Pre-groove - czas ATIP
identyfikujący producenta płyty nagrywanej)
Aby uruchomić grę nawet z poprawnie wykonanej kopii
płyty należy ukryć ATIP programowo, gdyż kod ten
informuje, iż płyta jest nagrywana a nie tłoczona.
ATIP potrafią odczytać tylko nagrywarki – przy odpalaniu
płyty z CD/DVD-ROMU ukrywanie nie jest wymagane.
SafeDisc
Zabezpieczenie polega na umieszczeniu uszkodzonych
sektorów, których jest kilkaset w różnych miejscach płyty.
Zabezpieczenie poznaje się po tym, że w głównym katalogu płyty są
ukryte pliki: 00000001.tmp, clcd16.dll, clcd32.dll, clokspi.exe,
dplayerx.dll.
Zakłócają one mechanizm korekcji błędów EFM.
EFM oznacza Eight to Fourteen Modulation (modulacja osiem do
czternastu) i jest metodą zredukowania błędów.
Ideą jest zminimalizowanie liczby 0 do 1 i przejść 1-0 – w ten sposób
unikania małych dołków. W EFM tylko te kombinacje bitów są użyte w
których więcej niż dwa ale mniej niż 10 zer pojawia się ciągiem.
Użycie kodowania EFM oznacza, że dołki przychodzą w nieciągłych
długościach sięgających od 3 bitów (często zapisywane 3T) do 11 bitów
długości (11T).
Błędne sektory SafeDisc 2 próbują niejako "przeładować sobą"
koder EFM nagrywarki CD, ponieważ po ich przejściu przez
Sector Scrambler, większość nagrywarek musi zapisywać na
nośnik regularne wzorce bitowe, a nie każda to potrafi.
SafeDisc
Przykładowe tytuły gier zabezpieczone przy
użycu SafeDisc 2:
Alice,
B17 Flying Fortress,
Hitman,
Links 2001,
NBA 2001,
Red Alert 2,
Sacrifice,
Settlers 4,
Swedish Touring Car Championship,
Undying
SecuROM
Zabezpieczenie Securom oparte jest na umieszczeniu
dodatkowych danych w subkanale Q, które służą do weryfikacji
autentyczności płyty.
Podczas uruchamiania programu zabezpieczonego Securom'em
program weryfikujący odczytuje z wybranych sektorów dane z
subkanału i porównuje je z zapisaną sygnaturą.
Dodatkowo program sprawdza długość ścieżki z danymi. Pliki
zabezpieczone Securomem są najczęściej pakowane
programem petite.
Pierwsze wersje były bardzo proste do rozgryzienia, ponieważ
plik wykonywalny był umieszczony w zasobach pliku
weryfikującego płytę CD. Jeżeli program weryfikujący
autentyczność płyty podczas odczytu subkanałów odczyta
same zera to mimo tego uruchamia dany program - gwarantuje
to kompatybilność ze starszymi napędami CD-ROM.
SecuROM
Wadą SecuROM-a jest to, że w środowisku Windows
NT/2000/XP nie wykorzystuje weryfikacji Subkanału
(weryfikuje tylko ścieżki). Do skopiowania tego
zabezpieczenia wymagana jest nagrywarka obsługująca
DAO RAW (ponieważ tylko ona potrafi nagrać prawidłowo
subkanał Q nie naprawiając go), a także należy posiadać
CD-ROM odczytujący prawidłowo dane subkanałowe ze
ścieżek danych i audio.
Inną metodą uruchomienia płyty zabezpieczonej
SecuROM'em nagranej inną metodą niż DAO RAW jest
wykorzystanie programów, które blokują dostęp
sterownikowi SecuROM-a do Subkanału i uniemożliwiają mu
odczyt tego subkanału zwracając same zera.
Przykłady zabezpieczonych CD: SimCity 3000; Revolt; Swat
3; Tarzan;
SecuROM 2
Securom v2 posiada dodatkowo umieszczone subkanały ścieżek
danych jak i ścieżek audio.
Dodatkowo program weryfikujący płytę CD próbuje odczytać informacje ATIP
z płyty CD (odczytać ATIP potrafi tylko nagrywarka). Jeśli uda się odczytać
ATIP program nie pozwala uruchomić chronionego tytułu i prosi o oryginalną
płytę (starsze wersje wywoływały krytyczny wyjątek w Windows).
Warto pamiętać, że w związku z powyższym prawidłowo
skopiowana płyta zabezpieczona przy użyciu nagrywarki
obsługującej DAO-RAW nie będzie się dała uruchomić w
nagrywarkach (chyba, że zastosujemy któryś z programów
blokujących dane subkanałowe).
Unowocześniono system szyfrowania plików *exe i dodano własne
sterowniki dll, które program weryfikujący płytę CD automatycznie
instaluje w systemie (SINTF16.dll - dla platform 16bit, SINTF32.dll -
dla Windows 9x, SINTFNT.dll - dla Windows NT/2000/XP)
Przykłady zabezpieczonych CD: EduRom (wszystkie); Diablo II;
Każda płyta CD zabezpieczona przy użyciu SecuRom'u ma od wewnętrznej
strony napis SONY DADC. Taki napis mają też płyty Audio z Key2Audio
.