Методы защиты дисков от копирования
В свое время наиболее любопытным занятием на Спектурме для меня (исключительно из спортивных соображений!) было копирование защищенных от этой процедуры дисков :) В своё время я разобрал довольно много защит. О тех, что прошли через мои руки я напишу и прошу дополнить теми вариантами, которые я не указал, а также внести свои уточнения:
1. Нестандартный формат диска. В то время, когда не было разработано никаких хитроумных копировщиков, такая защита вполне работала. Пример: первые загрузочные диски IS-DOS.
2. Помещение в межсекторые промежутки какой-то дополнительной информации. В простом случае программа просто ищет эту информацию и если не находит, то отказывается работать. Пример: игра Prince of Persia. В более сложном варианте в межсекторное пространство помещается ключ, с помощью которого происходит расксоривание программы. Пример: журналы Спектрофон. Такие диски легко копируются с помощью программы McDonald Copy.
Курьёз. До появления у меня McDonald Copy я скопировал свой первый Спектрофон, опираясь на статью опубликованную в этом же Спектрофоне :)
3. Дорожка нестандартной длины. Программа считывает дорожку целиком и проверяет сколько байтов информации физически помещается на дорожке. Если это число больше или меньше, то программа не запускается. Пример: первые номера журнала ZX-Format. Эту защиту повторить я не смог, но предполагаю, что такие дорожки форматировались и записывались на разрегулированных дисководах, где скорость вращения диска отличалась от стандартной. Обходилось заменой одного байта в программе.
4. Сектора с номером #F7. Как известно, когда при форматировании дорожки ВГ93 получает байт #F7, то она не пишет его, а интерпретирует как команду записи контрольной суммы, таким образом получить на Спектруме сектор с номером #F7 (почти) нереально. Пример: журнал ZX-Format. Тем не менее получить сектор с таким номер на Спектруме возможно, если число #F7 само является результатом контрольной суммы :) Копирование достигалось при помощи McDonald Copy в выходом в теневик Скорпиона.
5. Все сектора на дорожке имеют одинаковый номер и содержимое, кроме одного в середине! При попытке считать содержимое сектора будет читаться первый сектор с таким номером. При работе защищенного диска программа даёт команду ВГ93 на раскрутку диска, потом выжидает определенное количество милисекунд и тут же дает команду считать сектор, если всё нормально, то считывается именно тот сектор, который требуется. Пример: игра Open-It. Повторить удалось только вручную сформировав дорожку со всем её содержимым.
6. Физическое повреждение дорожки. Программа считывает сектор, если в результате считывания заданного сектора происходит возврат с ошибкой, то программа идет в совершенно другое место на диске и считывает нужную информацию, если же сигнала об ошибке не поступает, то происходит считывание последующих секторов, которые содержат мусор. Пример: UFO-2. Повторить удалось поместив нужную информацию вслед за поврежденным (на оригинальном диске) сектором.
Многие диски имели комбинацию защит.
Это всё, что мне вспомнилось. Дополняйте, вносите уточнения.
Вообще то непонятно, может быть оно
может быть отнесено к одной из групп, однако я такое слышал вроде запись т.н. плавающими битами, что в принципе тока на промышленном оборудовании можно повторить, в общем раз считаешь - там 1, второй раз там 0. и таким макаром прога определяет, что это есть свой родной диск.