Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_Теория_21-25.docx
Скачиваний:
3
Добавлен:
16.09.2019
Размер:
143.59 Кб
Скачать

21. Структура данных на cd. Способы создания некопируемых меток. Точное измерение характеристик форматирования дорожки. Физические метки и технология работы с ними.

Структурно весь диск можно разделить на три основные части: lead-in (вводная зона, хранящая всю информацию о структуре и принадлежности диска), PMA (Program Memory Area - непосредственно сами данные) и lead-out (выводная зона, состоящая практически из одних "нулей" и по сути являющаяся индикатором конца диска).

Вся информация записывается на CD-DA в виде дорожек, разделенных зазорами (pre-gap), равными 2 секундам. Таких дорожек может быть 99, и каждая из них может быть разбита на 99 фрагментов. Информация на диске представлена в виде блоков-сегментов, которые имеют стандартный размер (2352 байта) и стандартную скорость их чтения - 75 блоков в секунду. То есть, если мы говорим о зазоре длиной в две секунды, то подразумеваем 150 "пустых" блоков-сегментов. Сами же дорожки состоят из наполненных информацией блоков.

Есть четыре основных способа создания некопируемых меток на дискетах:

  • Считывание конкретного сектора дискеты (возможно, пустого или сбойного). Это самый простой способ защиты, и при копировании «дорожка в дорожку» дискета копируется.

  • Запоминание сбойных секторов дискеты. Перед тем, как записать на дискету информацию, её царапают (или прожигают лазером), после этого записывают номера сбойных секторов. Для проверки подлинности дискеты программа пытается записать в эти сектора информацию, затем считать её.

  • Нестандартное форматирование дискеты. Известна программа FDA (Floppy Disk Analyzer), которая могла проводить исследование и копирование таких дискет.

  • «Плавающий бит». Один бит записывается так, что в некоторых случаях он читается как «0», в некоторых как «1». Проводится многократное считывание дискеты; среди результатов считывания должны быть и нули, и единицы.

Метод был распространен во времена MS-DOS, сейчас, в силу устаревания технологии FDD, практически не применяется.

Для осуществления форматирования, необходимо подать на FDC (контролер гибкого диска) соответствующую команду, содержащую все необходимые параметры, а именно:

а) число секторов на дорожке, образующихся после завершения операции форматирования;

б) код длины секторов;

в) GPL (gap length), параметр, определяющий GAP3 (Межсекторный промежуток, имеющий название GAP3, имеет переменную длину. Его длина задается при форматировании дорожки параметром GPL);

г) D (fill byte), код, которым будут заполнены зоны данных всех секторов, образованных при форматировании;

д) заголовки всех секторов по порядку расположения, четверками байтов C, H,R,N, при этом необходимо следить, чтобы число указанных заголовков равнялось числу секторов на дорожке.

Длина созданных форматированием секторов всег­да одинакова и оп­ре­деляется только заданным кодом дли­ны, независимо от значений N, ука­занных в заголовках сек­торов. Все параметры, включая байты заголовков секто­ров, могут принимать значение 0...255, однако, при вы­боре чи­с­ла секторов, их длины и GPL, необходимо хорошо пред­ставлять себе процесс форматирования, иначе возможны не­ожиданные результаты.

Физическая маркировка дискеты

Одна из технологий защиты - аппаратное нанесение физических меток в определенные области лицензионного CD. При попытке копирования диска стандартные программы записи не могли считать информацию из этих областей и процесс получения копии заканчивался ошибкой. Однако использование такой защиты возможно только при тиражировании на заводах, оснащенных специальным оборудованием. Такие заводы имеются в ряде европейских стран, а также в США, Японии и Австралии. Рассмотрим подробнее

Одной из наиболее известных технологий защиты от копирования является физическая пометка дискеты лазерным лучом путем ее прожигания. Такой дефект приводит к искажению данных в секторе и возникновению CRC ошибки данных при его чтении. При копировании пробивка не воспроизводится на принимающей дискете, хотя данные переписываются. Таким образом, CRC-ошибка данных при чтении сектора с копии не возникает.

Контролирующая часть защищаемой программы, производя чтение соответствующего сектора, это устанавливает и производит действия, предусмотренные разработчиком (прерывание выполнения программы, ее уничтожение и т.п.).

Проверка присутствия пробивки может производиться контролирующей частью программы и другим, более надежным способом. Она производит попытку записи в место, где должно находиться отверстие. Неудача - явный признак того, что дискета дистрибутивная. Если же запись производится успешно, следовательно, поверхность в данном месте не повреждена и дискета не дистрибутивная.

22. Привязка программ к жестким магнитным дискам (ЖМД). Особенности привязки к ЖМД. Виды меток на ЖМД. Привязка к прочим компонентам штатного оборудования ПЭВМ. Привязка к внешним (добавляемым) элементам ПЭВМ. Привязка к портовым ключам. Использование дополнительных плат расширения.

«Привязка» программы к дистрибутивной дискете несет в себе большое неудобство для пользователя, связанное с необходимостью работы только со вставленной в дисковод оригинальной дискетой. Гораздо удобнее иметь необходимый программный продукт записанным на винчестере. Поэтому необходимо, чтобы контролирующая часть защищаемой программы (КЧЗП) "запомнила" свой компьютер и потом при запуске сравнивала имеющиеся характеристики с характеристиками "родного" компьютера. В случае их расхождения можно считать, что программа незаконно скопирована, и прервать ее выполнение. Для этого надо найти какие-то параметры, которые бы индивидуально характеризовали каждую вычислительную систему. На самом деле это весьма нетривиальная задача, поскольку открытая архитектура построения компьютеров IBM PC подразумевает их обезличенность.

Рассмотрим, что все же можно предложить для КЧЗП в качестве характеристик, которые могли бы проверяться при работе защищаемой программы.

Физические дефекты винчестера

При работе жесткого диска (винчестера) возможно возникновение сбойных участков на магнитной поверхности. Такие дефектные места могут иметься даже на совершенно новом винчестере. Номера этих сбойных участков помещаются в FAT (их признак - код FF7). При инсталляции защищаемой программы на винчестер в ее контролирующую часть записываются их адреса. В процессе выполнения программы осуществляется сравнение адресов сбойных участков, записанных в КЧЗП и в FAT. В случае запуска незаконно скопированной программы будет обнаружено расхождение сравниваемых адресов (первые не будут составлять подмножество вторых) и произойдет выполнение аварийных действий, предусмотренных для такого случая.

Развитием этой идеи является метод, в котором некоторые исправные кластеры помечаются как сбойные, и в них помещается информация для КЧЗП. (При копировании такие кластеры не передаются.)

Дата создания BIOS

Можно попытаться сузить класс компьютеров, на которых возможно функционирование незаконно скопированной программы. Это достигается, например, путем введения проверки даты создания BIOS, которая записана в ПЗУ каждого компьютера. Эта дата заносится в КЧЗП, и в процессе выполнения защищаемой программы осуществляется сравнение дат создания BIOS, записанных в КЧЗП и ПЗУ компьютера. В случае если защищаемая программа будет незаконно скопирована и установлена на компьютер другой серии, то КЧЗП это обнаружит и будут выполнены аварийные действия.

Дата создания BIOS записана в ПЗУ по адресу FFFF:0005 и занимает 8 байтов.

Версия используемой OS

Так как версия операционной системы, с которой работает пользователь на данном компьютере, не меняется на протяжении достаточно длительного времени, то ее также можно использовать в качестве параметра для организации проверки в КЧЗП. Этот контроль желательно проводить в комплексе с другими методами защиты, например, дополнительно к проверке даты создания BIOS, что еще более суживает класс машин, на которых может работать защищаемая программа.

Серийный номер диска

При форматировании диска на него создается так называемый серийный номер, его несложно изменить с помощью программ типа DiskEdit.

Тип компьютера

Для обеспечения работы защищаемой программы только на компьютере одного клона надо, чтобы она могла определять его тип.

Конфигурация системы и типы составляющих ее устройств

В развитие идеи, изложенной выше, рассмотрим способ, при котором КЧЗП в качестве параметра использует всю конфигурацию системы. Конечно надо учитывать, что этот способ будет давать ошибки и отказывать в выполнении законной копии программы, если какие либо составляющие вычислительной системы будут изменены (например, отключен принтер), либо наоборот законная и незаконная копии программы будут работать на системах с одинаковой конфигурацией.

Получение инженерной информации жесткого диска

Контроллер IDE, SCSI имеет специальную команду выдачи информации о подключенном устройстве. Программа IdeInfo выдает блок 512 байт информации о жестком диске, если в системе есть контроллер IDE и жесткий диск. Информация содержит параметры диска и его серийный номер. Некоторые OS не дают доступ к этой информации.

Применение физического защитного устройства

Многие аппаратно - программные способы защиты основаны на том, что в компьютер добавляется специальное физическое защитное устройство. (Оно подключается, например, к порту ввода-вывода.) При запуске защищаемой программы ее контролирующая часть обращается к этому дополнительному устройству, проверяя его присутствие. Если оно не найдено (некоторые устройства еще и формируют код ответа, который затем анализируется), то производится останов программы, либо какие-то иные действия (например, уничтожение информации на дискете или "винчестере").

Общий принцип работы компьютера в этом случае следующий. После запроса на выполнение защищаемой программы происходит ее загрузка в оперативную память и инициализация контролирующей части. На физическое устройство защиты, подсоединенное к компьютеру через порт ввода-вывода (либо другим способом), посылается запрос. В ответ формируется код, посылаемый через микропроцессор в оперативную память для распознавания контролирующей частью программы. В зависимости от правильности кода ответа программа либо прерывается, либо выполняется.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]