Filesystems / Dummy files Most CD-ROMs use the
ISO9660 file system to organize the available storage space for use by a computer or player. This has the effect of establishing directories (i.e., folders) and files within those directories. Usually, the filesystem is modified to use extensions intended to overcome limitations in the ISO9660 filesystem design. These include
Joliet,
Rock Ridge, and
El Torito extensions. These are, however, compatible additions to the underlying ISO9660 structure, not complete replacements or modifications. The most basic approach for a
distinctive feature is to purposely fake some information within the filesystem. Early generations of software copied every single file one by one from the original medium and re-created a new filesystem on the target medium.
Sectors A
sector is the primary data structure on a CD-ROM accessible to external software (including the OS). On a Mode-1 CD-ROM, each sector contains 2048 bytes of user-data (content) and 304 bytes of structural information. Among other things, the structural information consists of • the sector number, the sector's relative and absolute logical position • an
error detection code (EDC), which is an advanced
checksum used to detect (if possible) read-errors • an
error correction code (ECC), an advanced method of detecting and correcting errors Using the EDC and ECC information, the drive can detect and repair many (but not all) types of read-error. Copy protections can use these fields as a
distinctive feature by purposely crafting sectors with improper EDC/ECC fields during manufacture. The protection software tries to read those sectors, awaiting read-errors. As early generations of end-user soft/hardware were not able to generate sectors with illegal structural information, this feature could not be re-generated with such soft/hardware. If the sectors forming the
distinctive feature have become readable, the medium is presumed to be a copy. A modification of this approach uses large regions of unreadable sectors with small
islands of readable ones interspersed. Most software trying to copy protected media will skip intervals of sectors when confronted with unreadable ones, expecting them all to be bad. In contrast to the original approach, the protection scheme expects the sectors to be readable, supposing the medium to be a copy when read-errors occur.
Sub-channels Beside the
main-channel which holds all of the user-data, a CD-ROM contains a set of eight
sub-channels where certain meta-information can be stored. (For an audio CD, the user-data is the audio itself; for a data CD, it is the filesystem and file data.) One of the sub-channels — the
Q-channel — states the drive's current position relative to the beginning of the CD and the current track. This was designed for Audio-CDs (which for a few years were the only CDs), where this information is used to keep the drive on track; nevertheless the Q-channel is filled even on Data-CDs. Another sub-channel, the
P-channel (which is the first of the subchannels) carries even more primitive information—a sort of semaphore—indicating the points where each track starts. As every Q-channel field contains a 16-bit checksum over its content, copy protection can yet again use this field to distinguish between an original medium and a copy. Early generations of end-user soft/hardware calculated the Q-channel by themselves, not expecting them to carry any valuable information. Modern software and hardware are able to write any information given into the subchannels Q and P.
Twin sectors This technique exploits the way the sectors on a CD-ROM are addressed and how the drive seeks from one sector to another. On every CD-ROM the sectors state their logical absolute and relative position in the corresponding sector-headers. The drive can use this information when it is told to retrieve or seek to a certain sector. Note that such information is not physically "hard-wired" into the CD-ROM itself but part of user-controlled data. A part of an unprotected CD-ROM may look like this (simplified): When the drive is told to read from or seek to sector
6553, it calculates the physical distance, moves the laser-diode and starts reading from the (spinning) disc, waiting for sector
6553 to come by. A protected CD-ROM may look like this: In this example, a sector was inserted ("
Mary") with a sector-address identical to the one right before the insertion-point (
6553). When the drive is told to read from or seek to sector
6553 on such a disc, the resulting sector-content depends on the position the drive starts seeking from. • If the drive has to seek forwards, the sector's original content "
Jill" is returned. • If the drive has to seek backwards, the sector's
twin "
Mary" is returned. A protected program can check whether the CD-ROM is original by positioning the drive behind sector
6553 and then reading from it — expecting the
Mary version to appear. When a program tries to copy such a CD-ROM, it will miss the twin-sector as the drive skips the second
6553-sector, seeking for sector
6554. There are more details about this technique (e.g. the twin-sectors need to be recorded in large extents, the SubQ-channel has to be modified etc.) that were omitted. If the twin sectors are right next to each other as shown, the reader would always read the first one,
Jill; the twin sectors need to be farther apart on the disc.
Data position measurement Stamped CDs are perfect clones and have the data always at the same position, whereas writable media differ from each other.
Data Position Measurement (DPM) detects these little physical differences to efficiently protect against duplicates. DPM was first used publicly in 1996 by Link Data Security's
CD-Cops.
SecuROM 4 and later uses this protection method, as do
Nintendo optical discs. ==Changes that followed==