Техника защиты компакт-дисков от копирования


F3-фреймм.


Когда к вышедшемусошедшему изс CIRC-декодера F2-фрейму добавляют еще один байт служебных данных, называемый контрольным байтом (ControlByte) образуется F3-фрейм, с которым мы уже сталкивались в разд.главе  "Кратко о питах, лендах, EFM-словах, фреймовых кадрах и секторахPit'ы, land'ы, EFM-слова, фреймовые кадры и сектора" этой главы. Структура F3-фрейма до предела проста: первым идет контрольный байт, а за ним следуют 32 байта, доставшихся в наследство от F2-фрейма. Контрольный байт содержит в себе восемь бит подкода, которые в свою очередь образуют каналы, простирающиеся в длину на 98 байт, т. е. захватывающие весь сектор целиком, поскольку сектор как раз и состоит из 98 F3-фреймов (подробнее см. разд.главу  "Каналы подкода" этой главы).

Структура, образованная 98 F3-фреймами, называется секцией (section) и представляет собой вполне самодостаточную сущность, не привязанную к границам сектора. Позвольте зачитать пару цитат из Стандарта ECMA-130: "These Sections are asynchronous with the Sectors, i.e. there is no prescribed relation between the number of the F1-Frame in which the first byte of a Sector is placed and the number of the F3 -Frame in which the first Control byte of the table is placed" ("Эти секции асинхронны по отношению к секторам, т. е. между номером F1-фрейма, хранящим первый байт сектора и номером F3-фрейма, хранящим  первый контрольный байт таблицы, нет жестко заданного отношения"). Так же: "The address of a Sector is recorded in the Sector Header, also as an absolute time. It has no prescribed relation to the addresses of the Sections, because the mapping of a Sector on the Sections during recording is implementation-dependent due to the freedom left in clause 16. Therefore, the address of a Sector is filled in just before the Sector enters the CIRC encoder" ("Адрес сектора, записанный в его заголовке, так же выражается в абсолютном времени.
Он не имеет никакого заранее заданного отношения к адресу секции, поскольку отображение секторов на секции, происходящее в процессе записи последних, есть implementation-dependent, то есть зависит от воли левого мизинца правой пятки разработчикиаа записывающего привода, а, если говорить серьезно, оно в значительной мере обусловлено свободой выбора стартовой позиции начала сектора в F1-фрйеме. Поэтому, адрес сектора заполняется непосредственно перед входом сектора на CIRC-кодер").

Первые байты двух F3-фреймов каждой секции (т. е. первые два контрольных байта секции) обрабатываются особым образом. В то время как остальные байты секции (коих насчитывается 3 .232) преобразуются в 14-битовые EFM-последовательности, непосредственно записываемые на диск, эти два "товарища" замещаются фиксированными синхрогруппами, именуемых SYNC0 (00100000000001) и SYNC1 (00000000010010) соответственно (см. рис. 1.23 0x052).



Рис. 1.23.унок 23 0х052 Устройство секции


Содержание раздела