Лазерные диски


Так как же все-таки скопировать такой диск? - часть 2


Отбросив сектора, расположенные в зонах pre- и post-gap (т.е. 150 секторов от конца первой читаемой области и ровно столько же от начала следующей), мы должны объединить их в один файл, используя для этой цели любой файловый копировщик (например, штатную команду MS-DOScopyfile_1 /b + file_2 image.img). Остается прочитать сырой TOCSCSI/ATAPI командой READ TOC (opcode: 43h, format: 2h) и записать его в image.ccd файл в соответствии с синтаксисом Clone CD. Как альтернативный вариант – можно воспользоваться ccd-файлом, сформированным программой Alcohol, предварительно скорректировав pre-gapMode (как уже сказано выше, Алкоголик определил его неправильно, перепутав Mode 1 с Mode 2). Согласно стандарту, режим сектора задается пятнадцатым, считая от нуля, байтом его заголовка. Если этот байт равен одному (что, собственно, и наблюдается в нашем случае), то и Mode сектора будет 1, но не 2.

При условии, что все сделано правильно, после записи собственноручно сформированного образа диска, мы получаем практически идентичный оригинал. Просто? Да проще простого! И написать автоматический копировщик, автоматизирующий наш труд, можно буквально за несколько часов! Если чтение "сырых" секторов с диска представляет для вас проблему, воспользуйтесь исходными текстами утилит ASPI32.raw/SPTI.raw, как раз такое чтение и осуществляющих.

Так что искажение TOC'a – не очень-то надежный прием защиты от копирования, как не крути. Правда, от обычных пользователей, вооруженных Clone CD/Alcohol'ем он все-таки спасает, а больше от защиты зачастую и не требуется.




Начало  Назад  Вперед