NAGRYWARKI | PROGRAMY | TESTY | DYSKI TWARDE/SSD | BIOSY | ARTYKUŁY | FAQ | NAGRYWANIE od A do Z | ENCYKLOPEDIA | FORUM | Nośniki | Konsole | Księgarnia | Zabezpieczenia płyt | Zaloguj |
* SAFEDISC *
Strona domowa http://www.macrovision.com/
v. 1.0 – sądzę iż można pominąć ten wątek gdyż zabezpieczenie jest na tyle proste, że do jego skopiowania wystarczy nagrywarka obsługująca tryb RAW i odpowiedni program (nawet Nero).
v. 2.0 – Zabezpieczenie zawiera „słabe” sektory, które są powodem problemów synchronizacji u pewnych nagrywarek. Cyfrowe sygnatury są zarówno dostępne w tej wersji tak jak i w poprzedniej.
Powyżej ver. 2.51 znów podwyższono poprzeczkę, jeszcze bardziej w ver. 2.9, gdzie zastosowano "słabsze" sektory.
A kamień milowy tego produktu Macrovision to SD 3.20.
Tak naprawdę kluczem do sukcesu w przypadku tego zabezpieczenia jest nagrywarka. Te dobre radzą sobie z SD do 2.9 te najlepsze bez problemu kopiują 3.2-4.6 Wszystko zależy jak dobrą nasza wypalarka ma korekcję EFM*. Jeżeli obraz jest poprawny i gra działa z napędu wirtualnego a nie odpala się po wypaleniu Alcoholem to najprawdopodobniej oznacza, że nasza nagrywarka sobie nie radzi i nie jest w stanie skopiować zabezpieczenia. W marginalnych przypadkach zastosowanie CloneCD zamiast Alcohola, indywidualne kombinacje i dopasowanie ustawień pomaga, ale to rzadkość.
Kolejną kwestią jest to, iż zabezpieczenie blacklistuje programy emulujące oraz sprawdza kod ATIP płyty. 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 – jeżeli odpalamy płytę z CD/DVD-ROMU ukrywanie nie jest wymagane.
*Dlaczego takie ważne jest EFM ?
Zagadnienie postaram się przybliżyć na podstawie artykułu prof. Kelin J. Kuhn’a.
Przechowywanie danych na płycie CD jest prostą rzeczą. Zazwyczaj wizja użytkownika to „1-ki” i „0” w pamięci komputera odczytywane jako „dołki” i „wybrzuszenia” na płycie kompaktowej. Niestety, w praktyce to jest dalekie od tak prostej postaci.
Aby zacząć z przychodzącymi danymi są one poddawane wielu operacjom kodowania. Operacje kodowania dodają numer dodatkowych parzystych bitów do danych dla wykrycia błędów i w celu korekcji. Dane są także podmiotem procesu „przeplotu” (co oznacza, że przyległe dane na dysku nie są graniczącymi danymi z pliku przychodzącego).
W dodatku, forma fizyczna danych jest zmieniona (kodowanie EFM) aby wyeliminować możliwość przyległych „1-ek”. (Jest to zrobione z powodu krawędzi dołków a nie dołku w samym sobie – który reprezentuje 1-ki w strumieniu danych.)
Proste wykrywanie błędów i kody korekcji
Wykrywanie błędów i kody korekcji są fundamentami operacji każdego cyfrowego przechowywania danych. Są dosłownie tysiące takich kodów. Te kody typowo opierają się na używaniu dodatkowych bitów (zazwyczaj zwanych bitami parzystości) aby przechowywać informacje o wykrywaniu błędów i korekcji.
W prostym sprawdzaniu binarnym parzystości, bit parzystości jest pojedynczym bitem reprezentującym całkowitą liczbę 1-ek w szczególnym strumieniu danych będący (1) lub (0). (Dodawanie modulo dwa.)
Np. przypuśćmy, że umieszczasz bit parzystości nad wszystkimi cyframi następującego słowa.
1101 0000
Całkowita liczba 1-ek jest nieparzysta, wiec bit parzystości będzie 1. Słowo może być zatem zapisane jako
1101 0000 1
gdzie ostatnia liczba to bit parzystości.
Nawet proste sprawdzanie binarne parzystości może się stać całkiem skomplikowane jeżeli więcej niż jeden bit parzystości jest użyty. Np. możesz zrobić aby mieć dwa bity parzystości – jeden na pierwsze cztery bity wyrazu i jeden na cztery ostatnie.
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
P1 |
P2 |
X |
X |
X |
X |
|
|
|
|
1 |
|
|
|
|
|
X |
X |
X |
X |
|
0 |
Jeżeli wystarczająca liczba bitów parzystości jest użyta, wtedy błąd nie tylko może być wykryty – ale także skorygowany. Np. rozpatrz co się stanie jeśli użyjesz czterech bitów parzystości. Pierwszy jest na pierwszych czterech bitach, drugi jest na następne cztery bity, trzeci na 1,2,5,6 bit a czwarty na 2,3,6,7 bit.
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
P1 |
P2 |
P2 |
P4 |
X |
X |
X |
X |
|
|
|
|
1 |
|
|
|
|
|
|
|
X |
X |
X |
X |
|
0 |
|
|
X |
X |
|
|
X |
X |
|
|
|
|
0 |
|
|
X |
X |
|
|
X |
X |
|
|
|
|
1 |
Teraz przypuśćmy, że był błąd w ostatnim bicie.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
P1 |
P2 |
P3 |
P4 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
X |
X |
X |
X |
|
|
|
|
1 |
|
|
|
|
|
|
|
X |
X |
X |
X |
|
1 |
|
|
X |
X |
|
|
X |
X |
|
|
|
|
0 |
|
|
X |
X |
|
|
X |
X |
|
|
|
|
1 |
Bit parzystości P1 będzie się zgadzał z bitem parzystości w transmitowanym wyrazie, P2 się NIE zgodzi, P3 i P4 zgodne. Od kiedy P2 jest jedynym bitem parzystości nie zgadzającym się z transmitowanym wyrazem – wtedy błąd musi być w ósmym bicie.
Niestety, większość detekcji błędów oraz algorytmów korekcji użytych w odtwarzaczach CD nie jest tak prosta jak binarne sprawdzanie kodów omówione powyżej. To duże uproszczenie – a zainteresowanym polecam lekturę W. Peterson Error-Correcting Codes.
Ciąg dalszy na następnej stronie...