Реферат: Система защиты от несанкционированного копирования

Факультет ИУ

Кафедра ИУ7

З А Д А Н И Е

на курсовойпроект

По курсу Системноепрограммирование

Студент Кожичкин Е.С.ИУ7-62

Руководитель АлексеевЮ.Е.

I.<span Times New Roman"">                   

Системазащиты от несанкционированного копирования

II.<span Times New Roman"">                 

Провестианализ общей структуры систем защиты от несанкционированного копирования.Разработать систему защиты от копирования. Работа с ключевой дискетой сограниченным числом инсталляций.

III.<span Times New Roman"">              

2 листов формата 21,расчётно-пояснительная записка на 40листах формата II).

Дата выдачи «16» февраля <st1:metricconverter ProductID=«1998 г» w:st=«on»>1998 г</st1:metricconverter>.

Дополнительныеуказания по проектированию

Запретить копирование инсталлированной программы с жёсткого диска надругие носители. Разрешить перемещение инсталлированной программы в пределахлогического диска. Использовать программирование НГМД на физическом уровне.Реализация под DOS. Работа со стандартными дискетами <st1:metricconverter ProductID=«1.44 М» w:st=«on»>1.44 М</st1:metricconverter>.

<span Times New Roman",«serif»;mso-fareast-font-family:«Times New Roman»;mso-ansi-language: RU;mso-fareast-language:KO;mso-bidi-language:AR-SA">

СОДЕРЖАНИЕ

 TOC o «1-3» 1.      Введение… PAGEREF_Toc422619194 h 4

2.      Исследовательскийраздел… PAGEREF_Toc422619195 h 8

2.1.   Структурасистемы защиты от несанкционированного копирования.PAGEREF _Toc422619196 h 8

2.2.   Подсистемавнедрения управляющих механизмов.… PAGEREF_Toc422619197 h 10

2.3.   Блокустановки характеристик среды.… PAGEREF_Toc422619198 h 12

2.4.   Выборструктуры системы для реализации.… PAGEREF_Toc422619199 h 14

3.      Опытно-конструкторскийраздел… PAGEREF_Toc422619200 h 15

3.1.   Выбор иобоснование языка программирования.… PAGEREF_Toc422619201 h 15

3.2.   Структурапрограммы.… PAGEREF_Toc422619202 h 17

3.2.1.   МодульFrozen.… PAGEREF_Toc422619203 h 19

3.2.2.   МодульInstall.… PAGEREF_Toc422619204 h 20

3.2.3.   МодульInd.… PAGEREF_Toc422619205 h 20

3.2.4.   Запусквнешней программы.… PAGEREF_Toc422619206 h 26

3.2.5.   Работа сНГМД.… PAGEREF_Toc422619207 h 27

4.      Выводы… PAGEREF_Toc422619208 h 28

5.      Литература… PAGEREF_Toc422619209 h 29

6.      Приложение… PAGEREF_Toc422619210 h 31

6.1.   Требованияк аппаратуре.… PAGEREF_Toc422619211 h 31

6.2.   Требованияк программному обеспечению.… PAGEREF_Toc422619212 h 31

6.3.   Фрагментыпрограмм.… PAGEREF_Toc422619213 h 31

<span Times New Roman"">                                                                                                                                            1. <span Times New Roman"">    

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

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

                Бурноеразвитие информационных технологий и использование их в самых различных, в томчисле и критических, областях человеческой деятельности привело к тому, чтопомимо задач передачи, хранения и обработки информации возникла не менее, а в ряде случаев и болееважная задача защиты информации. Всоответствии с принятой классификацией выделяют шесть направлений деятельностипо защите информации [7]:

1.<span Times New Roman"">      

2.<span Times New Roman"">      

3.<span Times New Roman"">      

e-mail) и др.)

4.<span Times New Roman"">      

5.<span Times New Roman"">      

6.<span Times New Roman"">      

В настоящее время в связи сосложным характером взаимоотношений на рынке программных продуктов проблемазащиты от несанкционированного копирования является одной из наиболее острых вобласти разработки программных средств. Она обусловлена «самой сутьючеловеческой психологии и будет существовать до тех пор, пока программныйпродукт является товаром». Данное утверждение подчёркивает экономический базисрассматриваемой проблемы – несанкционированное копирование осуществляетсятогда, когда у пользователя существует потребность в эксплуатации какого-топрограммного продукта, а затраты на копирование существенно меньше затрат на приобретение легальной копии.

                Высокийуровень нелегального копирования (по данным международной организации BusinessSoftwareAllianceвРоссии нелегально используется до 98% программных продуктов) обусловлен впервую очередь соотношением средней оплаты труда и цены набора программногообеспечения, которая колеблется от 200$ для компьютеров домашнего использованиядо нескольких тысяч долларов для профессиональных систем. Если говорить болеестрого, то помимо экономических существуют и другие причины длянесанкционированного копирования, в частности ознакомительные ипсихологические, но превалирует всё-таки экономический мотив.

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

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

                Кнастоящему времени разработаны достаточно эффективные методы противодействиянесанкционированному копированию, однако стоит подчеркнуть, что несуществует такой защиты, которую было бы невозможно (помимо воли автора) снять.Не должно вызывать сомнений то, что опытный программист, обладающийсоответствующими навыками, всегдасможет найти то место (те места) в защищённой программе, где принимаетсярешение о легальности копии, и, изменив несколько байт (или даже одинединственный байт) в коде программы, лишить её возможности к самозащите.Именно по этой причине ведущие фирмы-производители массового программногообеспечения практически никогда не ставят защиту на свои программы, справедливополагая, что не стоит тратить силы и средства на создание системы защиты (темболее, что эти системы, как правило, причиняют пользователю определённыенеудобства), если всё равно программа будет вскрыта. Эти фирмы получают свои«дивиденды» за счёт массовости объёма продаж при сравнительно низкой цене закаждую копию. Они делают ставку на «цивилизованных» покупателей и, чтопримечательно, таким способом воспитывают их! Более того, в последнее времяполучили распространение программы, которые как раз рассчитаны на механизм«пиратского» копирования и распространяются преимущественно именно такимспособом: обычно эти программы сопровождаются «электронным письмом» (файлом стекстом), в котором содержится краткая инструкция по работе с программой иуказываются необходимые координаты автора с просьбой выслать небольшую сумму вслучае, если пользователь считает, что достоинства программы заслуживают этого.

                Несколькоиначе обстоит дело с программами, которые не рассчитаны на массовогопользователя. К таким относятся различного рода системы автоматизированногопроектирования, предыздательские системы, специализированные базы данных и т.п.Как правило, это весьма наукоёмкие товары, т.е. в них особенно велик вкладвысококлассных специалистов в конкретных прикладных областях. Труд такихспециалистов обычно высоко ценится, поэтому общие затраты на создание подобногорода программ могут быть весьма и весьма велики, что в сочетании сосравнительно небольшим кругом потенциальных пользователей делает цену каждойкопии очень большой. Такие программы обычно снабжаются защитой, так какограниченный спрос на них формирует весьма специфичный (и чаще всего«цивилизованный») рынок: покупателями этих программ являются специалисты вконкретной прикладной области, которые не имеют нужных навыков и, главное,желания заниматься вскрытием программ.

<span Times New Roman"">                                                                  2. <span Times New Roman"">     2.1.<span Times New Roman"">  

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

Обобщив сведения из различныхисточников можно предложить следующую структуру системы защиты отнесанкционированного копирования (<span REF _Ref421773858 * MERGEFORMAT "">Рис.2.1

). [7]

Система защиты от несанкционированного копирования

Подсистема внедрения управляющих механизмов

Внедряемый защитный код

Подсистема реализации защитных функций

Подсистема противодействия нейтрализации защитных механизмов

Блок установки характеристик среды

Блок сравнения характеристик среды

Блок ответной реакции

<img src="/cache/referats/2982/image001.gif" v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036 _x0000_s1037 _x0000_s1038 _x0000_s1039 _x0000_s1040 _x0000_s1041 _x0000_s1042 _x0000_s1043 _x0000_s1044 _x0000_s1045 _x0000_s1046 _x0000_s1047">


Рис. STYLEREF 1 s2.SEQ Рис.* ARABIC s 1 1.Структура системы защиты от несанкционированного копирования

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

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

Подсистема противодействия нейтрализации защитных механизмовпредназначена для борьбы с возможными попытками нейтрализации системы защиты отнесанкционированного копирования и/или её дискредитации.

Блок установки характеристик среды отвечает за получениехарактеристик, идентифицирующих вычислительную среду.

Блок сравнения характеристик среды устанавливает факт легальностизапуска защищаемой программы.

Блок ответной реакции реализует ответные действия системы защиты напопытки несанкционированного исполнения защищаемой программы.

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

В отдельных случаях, приотносительно невысокой цене одной копии, конечному пользователю бывает выгоднеекупить необходимое число инсталляций, чем оплачивать квалифицированный трудхакера.

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

Но если функционирование блокаответной реакции может влиять на надёжность системы лишь косвенным образом, тозачастую самым слабым местом всей системы является блок сравнения характеристиксреды и именно против него в первую очередь направлены атаки злоумышленников.

2.2.<span Times New Roman"">  

Системы защиты отнесанкционированного копирования можно классифицировать по способу внедрениязащитного механизма:

-<span Times New Roman"">          

-<span Times New Roman"">          

Наибольшую популярность впоследнее время приобрели системы второго типа. Это обусловлено рядомпреимуществ, которые даёт их использование:

-<span Times New Roman"">          

-<span Times New Roman"">          

-<span Times New Roman"">          

-<span Times New Roman"">          

Рассмотрим способы установкизащитных механизмов в защищаемые программные модули.

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

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

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

                Исходяиз указанных недостатков, можно сформулировать следующие требования кпристыковываемым модулям:

-<span Times New Roman"">          

-<span Times New Roman"">          

-<span Times New Roman"">          

2.3.<span Times New Roman"">  

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

В общем случае программноеобеспечение может распространяться:

-<span Times New Roman"">         

-<span Times New Roman"">         

tryandbuy), когда оплатапроизводится добровольно и только тогда, когда пользователь соглашается среальной пользой для себя данного продукта);

-<span Times New Roman"">         

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

При наличии технических мерзащиты производитель может распространять свой программный продукт тремяосновными способами, которые определяют конкретную реализацию блока установкихарактеристик среды:

-<span Times New Roman"">         

-<span Times New Roman"">         

-<span Times New Roman"">         

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

В случае распространенияпрограммных продуктов через торговые организации возможны следующие варианты:

-<span Times New Roman"">         

-<span Times New Roman"">         

  ивходящим в дистрибутивный комплект;

-<span Times New Roman"">         

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

                Свободныйот этих недостатков третий вариант требует помимо обеспечения надёжностиключевой дискеты решения далеко не простой проблемы счётчика инсталляций.

                Достаточноинтересен третий способ распространения программного обеспечения – посредствомсвободного распространения дистрибутивных (демонстрационных) пакетов. Сутьэтого способа лучше всего описать следующим сценарием. Пользователь, всё равнокаким способом, получает программу и запускает её на своём компьютере. Призапуске ему сообщается некоторый код, который вместе с квитанцией об оплате ондолжен передать разработчику. В ответ ему сообщается другой код, являющийся паролемдля регистрации копии программы и ассоциации её с компьютером. По такомуспособу, например, защищён некогда популярный текстовый процессор «Слово иДело».

                Такимобразом, в зависимости от выбранного способа распространения программногопродукта, блок установки характеристик среды должен уметь идентифицироватьпараметры компьютера, дистрибутивного носителя, либо специального аппаратногоустройства.

2.4.<span Times New Roman"">  

В этом параграфе на основеанализа общей структуры системы защиты от несанкционированного копирования,проведённого в пп. 2.1 – 2.3, выбирается структура системы для реализации.

Для реализации выбранапристыковочная система защиты от несанкционированного копирования. Этот выборопределили преимущества, даваемые её использованием, которые перечислены в п.2.2.

Учитывая требования кпристыковываемым модулям, сформулированные в п. 2.2, в программе реализованаследующая схема пристыковки. Защищаемый файл шифруется и дописывается впристыковываемый модуль как данные. Когда пристыкованному модулю необходимопередать управление на защищённую программу, он расшифровывает её во временныйфайл и запускает при помощи функции DOSExec. После отработки временный файл удаляется.

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

<span Times New Roman"">                                         3. <span Times New Roman"">     3.1.<span Times New Roman"">  

Языки программирования нельзясравнивать между собой вне связи с решаемыми задачами. Ведь каждый языкизначально проектировался для максимально эффективного решения какого-то своегокласса задач. Язык Фортран (Fortran — FORmulaTRANslator– транслятор формул) – для численных вычислений, язык Лисп (Lisp –LIStProcessing – обработка списков) – для решения задачискусственного интеллекта, Пролог (Prolog – PROLOGic)– для программирования в терминах логики и т.д. Таким образом ещё до написанияпрограммы встаёт вопрос выбора языка программирования, который бы представлялнаиболее подходящие средства для решения поставленной задачи. Постановка задачидолжна быть ясна из вышесказанного. Ниже автор постарался сформулироватьосновные требования к программной реализации и на основе как постановки задачи,так и этих требований выбрать язык программирования.

Требования к программнойреализации:

-<span Times New Roman"">         

-<span Times New Roman"">         

Для реализации программы авторомвыбран язык программирования ассемблер (Assembler). Подчеркнём те особенности языка, которые и определилиэтот выбор:

1)<span Times New Roman"">      

Basic), Паскаль (Pascal),Си (С). Следовательно язык Ассемблера максимально приближен к аппаратнымсредствам компьютера и его «натуральным» возможностям, что позволяеторганизовать непосредственное управление аппаратурой.

2)<span Times New Roman"">      

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:KO;mso-bidi-language: AR-SA">
3.2.<span Times New Roman"">  

Программа состоит из трёх модулей:

1)<span Times New Roman"">      

Frozen — подготавливаетключевую дискету и записывает на неё инсталлятор, в который включает защищаемуюпрограмму.

Frozen

Install

Ind

Task

Install

Ind

Task

На дискету

<img src="/cache/referats/2982/image002.gif" v:shapes="_x0000_s1048 _x0000_s1049 _x0000_s1050 _x0000_s1051 _x0000_s1052 _x0000_s1053 _x0000_s1054 _x0000_s1055 _x0000_s1056 _x0000_s1057 _x0000_s1058">


2)<span Times New Roman"">      

Install, которыйпроверяет дискету и, если она является ключевой, устанавливает на винчестерпользовательскую программу (Task), защищённую модулемInd.

Install

Ind

Task

С дискеты

Ind

Task

<img src="/cache/referats/2982/image003.gif" v:shapes="_x0000_s1059 _x0000_s1060 _x0000_s1061 _x0000_s1062 _x0000_s1063 _x0000_s1064 _x0000_s1065">


3)<span Times New Roman"">      

Ind, который при первомзапуске определяет характеристики среды и сохраняет их, а при всех последующихзапусках сравнивает текущие характеристики среды с определёнными при первомзапуске. Если характеристики не изменились, то модуль расшифровывает изапускает Task. После отработки Taskудаляетсяс винчестера.

Ind

Task

Task

<img src="/cache/referats/2982/image004.gif" v:shapes="_x0000_s1066 _x0000_s1067 _x0000_s1068 _x0000_s1069 _x0000_s1070">


Рассмотрим эти модулипоподробнее.

3.2.1.<span Times New Roman"">     Frozen.

Модуль Frozenподготавливает ключевую дискету следующим образом. Надискете форматируется дорожка с номером 80 (нумерация дорожек начинается снуля). Так как DOSом надискетах объёмом 1.44 мегабайта используются только дорожки с номерами от 0 до79, это действие никак не повлияет на информацию, хранимую обычным способом.Дорожки, находящиеся за стандартным полем форматирования (в случае дискеты 1.44мегабайта – это дорожки с номерами не менее 80), называют инженерными цилиндрами. В первый сектор восьмидесятой дорожки(длина сектора – 512 байт, нумерация секторов ведётся с единицы) записываетсясчётчик копий и сигнатура. Счётчик копий представляет собой байт, которыйсодержит оставшееся число инсталляций защищённой программы. Программа Frozen запрашивает у пользователя количество копий иполученным числом инициализирует счётчик копий. Сигнатурой является строка «Copyright © KES_Company, 1998». После этого на подготовленную дискетузаписывается модуль Install, включающий защищаемуюпрограмму Task.

3.2.2.<span Times New Roman"">     Install.

Итак, модуль Frozenзаписывает на ключевую дискету модуль Install.

Модуль Installосуществляет инсталляцию модуля Indна жёсткий диск только при одновременном выполнении двухусловий:

1)<span Times New Roman"">        

Install должна бытьзапущена с ключевой дискеты – дискеты, подготовленной модулем Frozen;

2)<span Times New Roman"">        

Следовательно, одной из задачмодуля Installявляетсяопределение факта подлинности ключевой дискеты. Данная задача решаетсяследующим образом. Программа Installчитаетпервый сектор восьмидесятой дорожки и, если он содержит сигнатуру, то делаетсявывод о подлинности ключевой дискеты. После каждой инсталляции счётчик копийдекрементируется. Если значение счётчика окажется равным нулю, то это означаетто, что количество инсталляций (заданное при подготовке дискеты программой Frozen) с данной дискеты исчерпано. После записи на жёсткийдиск модуля Ind модуль <span

еще рефераты
Еще работы по программированию, базе данных