Реферат по предмету "Компьютеры и цифровые устройства"


Защита от несанкционированного доступа

Защита данных от несанкционированного доступа 1. Введение. Появившиеся в начале 80-ых персональные ЭВМ ПЭВМ или ПК прочно вошли во все сферы человеческой деятельности. Вместе с ними у эксплуатирующих ПЭВМ организаций и ведомств возникли и многочисленные проблемы. Одна из них защита информации. Согласно статистическим данным более 80 компаний и агентств несут финансовые

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

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

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

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

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

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

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

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

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

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

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

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

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

типа для шифрования и EXE- и COM-файлы для установки пароля и проверки по ключевой дискете. 1. 3. Постоянная информация В качестве постоянной информации используются таблицы перестановок и константы генератора псевдослучайных чисел при шифровании файлов подробнее см. Описание программы. Криптография. 1. 4. Выходная информация Выходные данные зашифрованные файлы и защищенные программы.

2. Вычислительная система 2. 1. Операционная система Программа Защита данных от НСД разрабатывалась под управлением операционной системы MS-DOS 6.22. Предполагается, что программа будет работать без сбоев с MS-DOS и PC-DOS версий не ниже 5.0. Операционная система ОС является неотъемлемой частью ПЭВМ. ОС обеспечивает управление всеми аппаратными компонентами и поддержку

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

MS DOS является модульность, что позволяет при необходимости расширения функций системы модифицировать отдельные ее модули. DOS состоит из следующих основных модулей базовая система вводавывода BIOS блок начальной загрузки Boot Record модуль расширения базовой системы вводавыводаBIO.COM модуль обработки прерываний DOS.COM командный процессор COMMAND.COM утилиты DOS. Достоинством DOS является то, что любая программа может играть роль сервисной,

поскольку для ее запуска достаточно указать лишь имя файла, в котором она содержится. Следовательно, с точки зрения пользователя такие программы не отличаются от встроенных команд DOS. Программа может воспринимать параметры, задаваемые в командной строке. Храниться она может в любом каталоге на любом диске. Указанное свойство делает ДОС открытой для расширения.

Неизменное ядро системы составляют лишь BIOS и три основных моду- ля BIO.COM, DOS.COM и COMMAND.COM Общий объем оперативной памяти, занимаемой этими модулями, составляет до 60 Кбайт. 2. 2. Технические средства реализации задачи Программа работает на компьютерах клона IBM, начиная с процессора Intel 80-286. Требуемый объем оперативной памяти минимум 1,5

Mb. Минимальные требования к видеоаппаратуре карта VGA и 256 Kb видеопамяти. 2. 3. Программные средства реализации задачи Программа Защита данных от несанкционированного доступа разработана в среде Borland Pascal 7.0 Borland International , 1992. Пакет Borland Pascal 7.0 учитывает новейшие достижения в программировании и практике создания программ и включает

в себя три режима работы обычный режим операционной системы MS-DOS защищенный режим MS-DOS режим Windows. Пакет Borland Pascal включает в себя как язык программирования одно из расширений языка Паскаль для ПЭВМ клонов IBM, так и среду, предназначенную для написания, отладки и запуска программ. Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой

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

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

усовершенствованные программы Turbo Vision 2. При написании программы также использовался интегрированный пакет Turbo Vision 2.0. При создании прикладной программы программист большие усилия затрачивает на организацию ввода-вывода информации, т. е. на формирование интерфейса. Они соизмеримы с усилиями, затрачиваемыми на программирование основного алгоритма программы, по которому решается конкретная задача. Работа, связанная с организацией ввода-вывода, повторяется от программы

к программе, требует выполнения однотипных операций, отвлекает внимание программиста от выполнения основной задачи. Прекрасным средством упрощения работы по организации ввода-вывода, его унификации с учетом требований к интерфейсу программ является разработанный фирмой Borland International пакет Turbo Vision 2.0, представляющий объектно-ориентированную библиотеку средств формирования пользовательского интерфейса. Кстати, интерфейс самого

Borland Pascal 7.0 и Turbo Pascal 7.0 тоже построен на стандартных объектах Turbo Vision 2.0. Согласно этому рисунку программу можно представить как совокупность двух частей часть программы, обеспечивающая решение основной программы, и часть, обеспечивающая организацию ввода-вывода с внешних устройств на внешние устройства, так называемый интерфейс программы. В основную часть из основной части информация может передаваться двумя способами непосредственная передача

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

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

Turbo Vision 2.0. Криптографическая защита Borland Pascal 7.0. Защита программ паролем TASM 3.0. Защита программ с помощью ключевой дискеты TASM 3.0. Блокировка винчестера TASM 3.0. 3. 1 Инсталляционный модуль Модуль инсталляции будет устанавливать программу на винчестер в определенный каталог, а также осуществлять привязку программы к уникальным идентификаторам BIOS.

3. 2. Оболочка программы При создании интерактивного пользовательского интерфейса оболочки программы использовались стандартные объекты пакета Turbo Vision. Горизонтальное двухуровневое меню, строка состояния, рабочее поле, диалоговые окна, информационные сообщения и сообщения об ошибках, поддержка мыши вот некоторые атрибуты оболочки. 3. 2. Криптографическая защита Перед описанием алгоритма следует ввести некоторые термины.

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

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

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

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

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

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

Данный линейный конгруэнтный датчик ПСЧ вырабатывает последовательности псевдослучайных чисел Ti, описываемые соотношением 1 T0 исходная величина, выбранная в качестве порождающего числа. Этот датчик ПСЧ генерирует псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений A и C. Значение М обычно устанавливается равным 2b, где b длина слова ЭВМ в битах. Датчик имеет максимальный период М до того, как генерируемая последовательность чисел начнет

повторяться. Линейный конгруэнтный датчик ПСЧ имеет максимальную длину М тогда и только тогда, когда A mod 4 1 и С нечетное. В своей программе я положил А 5, С 27, Т0 пароль, вводимый пользователем. С полученной последовательностью Тi поступают следующим образом Fi Ti xor Di 2 Где в 2 Di последовательность открытых данных,

Fi последовательность зашифрованных данных 4. Также при разработке алгоритма шифрования использовался алгоритм американского федерального стандарта на шифрование данных Data Encryption Standard DES. При зашифровании входные данные шифруются по формуле 2, далее обрабатываются блоками по 64 слова word. Эта обработка заключается в следующем 4 слова переставляются в соответствии с таблицей, изображенной на рис. 2 408481656 Рис. 2.

Перестановка после зашифрования. Как видно из данной таблицы, слово 40 входной последовательности становится 1-ым, слово 8 2-ым и т. д. Процесс расшифрования данных является инверсным относительно процесса зашифрования. Т. е. данные сначала переставляются в соответствии с таблицей, изображенной на рис. 3, а затем преобразуются по формуле 2. Как легко видеть, данная перестановка является обратной по отношению к начальной. Рис. 3. Перестановка перед расшифрованием 4.

Описание программы При написании программы использовались следующие стандартные библиотеки Borland Pascal 7.0 и Turbo Vision 2.0 Модуль Objects. Модуль Objects содержит основные определения объектов Turbo Vision, включая базовый объект иерархии Turbo Vision TObject, а также все невидимые элементы Turbo

Vision потоки, коллекции и ресурсы. Модуль App. Модуль App предоставлен в исходных кодах обеспечивает элементы оболочки Turbo Vision. 4 очень мощных объектных типа определены в App, включая объекты TApplication и TProgram, которые служат в качестве программ Turbo Vision и объект панели экрана, который управляет большинством элементов в оконных программах.

Модуль Views. Модуль Views содержит основные компоненты видимых элементов и полезные компоненты более сложных групп, таких как рамки окон и полосы скроллинга. Более сложные видимые элементы находятся в модулях Dialogs и TextView. Модуль Dialogs. Модуль Dialogs определяет большинство элементов наиболее часто используемых при создании диалоговых окон. Этот модуль включает сами диалоговые окна которые являются специализированными

окнами и различные элементы управления, такие как кнопки, метки, зависимые и независимые кнопки, строки ввода и списки истории. Модуль Menus. Модуль Menus обеспечивает все объекты и процедуры для системы меню Turbo Vision, включая выпадающие меню и активные элементы строки статуса. Модуль Drivers. Модуль Drivers содержит все специализированные драйверы Turbo Vision, включая драйверы мышки и клавиатуры, поддержку экрана и систему обработки ошибок с монитором

событий для программ, управляемых событиями. Модуль Memory. Модуль Memory содержит процедуры монитора памяти Turbo Vision, которые обеспечивают функции управления кучей. Модуль CRT. Модуль CRT содержит константы, переменные и подпрограммы, предназначенные для работы с консолью. В отличие от стандартного ввода-вывода, когда он осуществляется через операционную систему,

подпрограммы этого модуля работают с BIOS и непосредственно с видеопамятью. Модуль DOS. Модуль DOS позволяет использовать возможности операционной системы MS-DOS, не предусмотренные в стандарте языка Паскаль, и содержит типы, константы, переменные и для реализации этих дополнительных возможностей. Кроме вышеперечисленных стандартных модулей был разработан модуль SetConf, в котором находится функция привязки программы к

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

Для входа в систему необходимо ввести пароль. Эти проверки осуществляются в конструкторе Init объекта TMyApp. Этот же объект инициализирует меню TMyApp.InitMenu, строку состояния TMyApp.InitStatusLine, рабочее поле TMyApp.InitDeskTop, устанавливает специальную цветовую палитру TMyApp.GetPalette. Обработка событий нажатие клавиш клавиатуры, работа с мышью осуществляется в методе

HandleEvent объекта TMyApp. При выборе какого-либо пункта меню управление передается соответствующему объекту или вызывается нужная подпрограмма. В программе используются следующие процедуры, функции и объекты Shifr процедура. Зашифрование файлов любого типа. Сначала получаем пароль от пользователя, затем создаем файл зашифрованных данных .MA. Исходный файл считывается блоками по 64 word, кодируется с помощью генератора

ПСЧ, затем переставляется в соответствии с таблицей, изображенной на рис. 2. Полученную последовательность записываем в файл с расширением .MA и т. д. DeShifr процедура. Расшифрование файлов, зашифрованных процедурой Shifr. Plus процедура. Установка защиты паролем или по ключевой дискете на программы. Block процедура. Защита винчестера от записи. Passwords процедура.

Изменение пароля входа в программу. Сначала запрашивает старый пароль, затем два раза новый. TOptions объект, потомок объекта TDialog. Выводит диалоговое окно изменения настроек шифрования файлов удалять или не удалять исходный файл, высвечивать или не высвечивать индикатор процесса шифрования. CheckExec процедура. Обрабатывает ошибки DOS. 5. Описание применения программы Программа предназначена для защиты данных от несанкционированного доступа в ней реализованы следующие

функции шифрование файлов защита паролем исполняемых файлов защита исполняемых файлов с помощью ключевой дискеты отслеживание и реакция на ошибки изменение паролей привязка к BIOS. Установка системы происходит с ключевой дискеты программой INSTALL.EXE, которая проверяет не была ли установлена система ранее если нет, то создает на винчестере каталог CSUB ROSA и копирует в него файлы системы Sub

Rosa.exe, Block, KeyDisk, Plus, Passw, Setup.res, System.res. При запуске программы Sub Rosa.exe сначала проверяется наличие всех файлов системы. Если хотя бы один файл изменен или удален, то система работать не будет. Для работы с программой необходимо ввести пароль. В верхней части экрана находится полоска меню, состоящая из следующих пунктов

Файлы Выбрать выбор файла для работы Сменить каталог смена текущего каталога Выход в DOS временный выход в DOS Завершение завершение работы с программой Защита Установить пароль защита EXE- и COM-файлов паролем Блокировать винчестер запрет записи любых данных на винчестер Ключевая дискета Добавить проверку по ключу защита

EXE- и COM-файлов с помощью ключевой дискеты Криптография Зашифровать файл данных зашифрование выбранного файла Расшифровать файл данных расшифрование выбранного файла Настройки Криптография изменение настроек криптографии Пароли изменение пароля входа в систему О Программе информация о программе.

Во всех случаях , кроме блокировки винчестера, сначала необходимо выбрать файл для работы. Для установки защиты паролем или по ключевой дискете выбирается EXE- или COM-файл, для шифрования файл любого типа. 6. Заключение В заключении проведем анализ некоторых систем защиты от копирования. Следует отметить, что этот анализ не является исчерпывающим, так как эти системы постоянно развиваются,

а также не всегда можно получить исчерпывающее описание алгоритмов разработчики не стремятся раскрывать принципы их построения. RANK пакет защиты от НСД. Этот пакет реализует функцию контроля доступа к EXE- и COM-файлам. Следует отметить, что анализ разграничения доступа к программам ставит под серьезное сомнение возможность реализации такой функции без дополнительных мероприятий. LATCH комплекс программ защиты ПЭВМ от НСД. Этот комплекс обеспечивает безопасность данных , хранящихся

на винчестере. При несанкционированном доступе происходит зависание ПЭВМ или не обнаруживается НЖМД. Тезис о невозможности обнаружения НЖМД вызывает серьезные сомнения например, для контроллеров SCSI не требуется определение типа НЖМД в памяти CMOS, так как параметры винчестера могут быть считаны с помощью команды контроллера. Приложение 1 Листинг программы

Program SubRosa Uses App, Dialogs, Drivers, Menus, MsgBox, Objects, Validate, Views, Memory, StdDlg, Editors, Модули Turbo Vision, далее - TV CRT, DOS, Стандартные модули SetConf Модуль функции привязки к BIOS Var MyRes TResourceFile Переменная файла ресурсов, TV FName, MainDir, DName string

Переменные работы с файлами и каталогами MainPass, Pass string Переменные паролей Pos string3 FilePass file of char Переменная файла паролей OptFile, OptInd word Переменные опций Int09Save pointer Переменная адреса 09h прерывания Const Константы кодов команд, TV cmAboutBox 700 Окно

О Программе cmCode 1001 Кодировать файл cmDeCode 1002 Декодировать файл cmSetPass 1005 Установить пароль на вход в систему cmLockDisk 1006 Запретить доступ к винчестеру cmOptions 1007 Опции криптографии cmKeyDisk 1008 Ключевая дискета cmPasswords 1009 Пароль на исполняемый файл cmChangePass 1010 Сменить пароль на вход в систему SetPass passw.com

KeyDisk keydisk.com RMenuBar TStreamRec Запись для работы с потоком, TV ObjType 2000 VmtLink OfsTypeOfTMenuBar Load TMenuBar.Load Store TMenuBar.Store Type Установка опций криптографии POptions TOptions TOptions objectTDialog constructor Init end Объект для работы с текстом PMyStaticText

TMyStaticText TMyStaticText objectTStaticText function GetPalette PPalette virtual Переопределение палитры end Объекты для работы с файлами и каталогами PMyFDialog TMyFDialog TMyFDialog objectTFileDialog function GetPalette PPalette virtual end PMyFileDialog TMyFileDialog TMyFileDialog objectTMyFDialog constructor

InitAWildCard tWildStr const ATitle, InputName string AOptions Word HistoryId Byte end PDirDialog TDirDialog TDirDialog objectTChDirDialog function GetPalette PPalette virtual end PMyChDirDialog TMyChDirDialog TMyChDirDialog objectTDirDialog constructor InitAOptions Word HistoryId Word procedure SetUpDialog function

ValidCommand Word Boolean virtual end Установка основного фона программы PMyBackground TMyBackground TMyBackground objectTBackground Text TTitleStr constructor Initvar Bounds TRect AText TTitleStr procedure Draw virtual end PMyDesktop TMyDesktop TMyDesktop objectTDesktop procedure InitBackground virtual end

Объект О Программе PAboutBox TAboutBox TAboutBox objectTDialog constructor Init end Основной объект PMyApp TMyApp TMyApp objectTApplication constructor Init инициализация destructor Done virtual завершение работы procedure HandleEventvar Event TEvent virtual обработка событий procedure InitMenuBar virtual инициализация меню procedure InitDeskTop virtual инициализация рабочего поля procedure

InitStatusLine virtual инициализация строки состояния procedure FileOpenWildCard PathStr окно для работы с файлами function GetPalette PPalette virtual изменение стандартной палитры end Русифицированная функция формирования сообщения function MyMessageBoxRectvar R TRect const Msg string Params pointer

AOptions word word const ButtonName array0 3 of string6 Ага, Нека, Ага, Нека Commands array0 3 of Word cmYes, cmNo, cmOK, cmCancel Titles array0 3 of string11 Предупреждение, Ошибка, Информация, Подтверждение var I, X integer Dialog PDialog Control PView S string begin Dialog NewPDialog,

InitR, TitlesAOptions and 3 with Dialog do begin Options Options or ofCentered R.Assign3, 2, Size.X - 2, Size.Y - 3 FormatStrS, Msg, Params InsertNewPStaticText, InitR, S X -2 R.Assign0, 0, 10, 2 for I 0 to 3 do if AOptions and 0100 shl I 0 then IncX, R.B.X - R.A.X 2

X Size.X - X shr 1 for I 0 to 3 do if AOptions and 0100 shl I 0 then begin Control NewPButton, Init R, ButtonNameI, Commandsi, bfNormal InsertControl Control.MoveToX, Size.Y - 3 IncX, Control.Size.X 2 end SelectNextFalse end if AOptions and mfInsertInApp 0 then MyMessageBoxRect

DeskTop.ExecViewDialog else MyMessageBoxRect Application.ExecViewDialog DisposeDialog, Done end Русифицированная функция формирования сообщения стандартного размера function MyMessageBoxconst Msg String Params Pointer AOptions Word Word var R TRect begin R.Assign0, 0, 40, 9 MyMessageBox MyMessageBoxRectR, Msg, Params, AOptions end function

GetCurDir DirStr var CurDir DirStr begin GetDir0, CurDir if LengthCurDir 3 then begin IncCurDir0 CurDirLengthCurDir end GetCurDir CurDir end Процедура инициализации окна работы с файлами procedure TMyApp.FileOpenWildCard PathStr var FileName FNameStr begin FileName . if ExecuteDialogNewPMyFileDialog, Init WildCard,

Открыть файл, Имя, fdOpenButton, 100, FileName cmCancel then FNameFileName открыть файл, потом end К Р И П Т О Г Р А Ф И Я Шифрование файлов procedure ShifrInputFileName string const A 5 Константы для C 27 генератора M 65536 псевдослучайных чисел, далее - ПСЧ var TempFile file of byte InpF, OutF file of word файлы на входе и выходе

Password, Password1 string переменные для работы с паролями OutputFileName, Exten string переменные имен файлов I, J, K, tmp byte переменные кодирования Temp, SCode, TByte, Code word Position LongInt переменные данных о процессе NowPos real TPassword array 1 255 of word MasByte,

Mas, MasEnd, PS array 1 64 of word массивы перестановок T array 0 64 of word DirInfo, DirInfo1 SearchRec данные о файле begin if lengthFName 3 then Файл выбран begin Получить пароль Password Password1 InputBoxП А Р О Л Ь, Введите пароль, Password, 255 InputBoxП А Р О Л Ь, Введите пароль еще раз, Password1, 255 if

Password Password1 and lengthPassword 0 then begin Преобразовать файл FindFirstInputFileName, AnyFile, DirInfo if DOSError 0 then begin if DirInfo.Size mod 2 1 then begin assignTempFile, InputFileName resetTempFile while not EOFTempFile do readTempFile, tmp tmp 255 writeTempFile, tmp closeTempFile end Преобразовать имя файла Position 0 assignInpF,

InputFileName resetInpF for i lengthInputFileName downto 1 do if InputFileNamei . then begin OutputFileName copyInputFileName, 1, i MA break end assignOutF, OutputFileName rewriteOutF for i 0 to lengthInputFileName do if InputFileNamelengthInputFileName - i . then case i of 0 Exten chr0 chr0 chr0 1 Exten copyFName, lengthFName-2, i chr0 chr0 2

Exten copyFName, lengthFName-2, i chr0 else Exten copyFName, lengthFName-2, 3 end for i 1 to 3 do begin Temp ordExteni WriteOutF, Temp end Начать шифрование k 1 repeat begin Считать из исходного файла блок размером 64word for i1 to 64 do If EOFInpF then MasBytei 0 else ReadInpF, MasBytei Mas MasByte T0 ordPasswordk if k lengthPassword then inck else k 1 for i 1 to 64 do begin

Получить текущую позицию процесса NowPos 100PositionDirInfo.Size incPosition, 2 if NowPos 100 then NowPos 100 StrRoundNowPos3, Pos if OptInd 0 then begin GoToXY77, 1 WritePos end Шифровать с помощью ПСЧ CodeMasi Ti A Ti-1 C mod M CodeTi xor Code Masi Code end for i1 to 8 do Конечная перестановка for j1 to 8 do case i of 1

MasEnd8j-1i Mas41-j 2 MasEnd8j-1i Mas09-j 3 MasEnd8j-1i Mas49-j 4 MasEnd8j-1i Mas17-j 5 MasEnd8j-1i Mas57-j 6 MasEnd8j-1i Mas25-j 7 MasEnd8j-1i Mas65-j 8 MasEnd8j-1i Mas33-j end for i 1 to 64 do WriteOutF, MasEndi end until eofInpF MyMessageBoxФайл InputFileName зашифрован с именем

OutputFileName, nil, mfInformationmfOkButton CloseInpF if OptFile 1 then EraseInpF CloseOutF end else MyMessageBoxФайл InputFileName не существует, nil, mfInformationmfOkButton end else MyMessageBox Ошибка ввода пароля, nil, mfErrormfOkButton end else MyMessageBox Файл не выбран, nil, mfErrormfOkButton end procedure

DeShifrInputFileName String const A 5 C 27 M 65536 var InpF, OutF file of word Password, OutputFileName string Password1 string Exten string3 SCode, Temp, Ext, TByte, Code word I, J, K byte Position LongInt NowPos real TPassword array 1 255 of word MasByte, Mas, MasEnd,

PS array 1 64 of word T array 0 64 of word DirInfo SearchRec begin if lengthInputFileName 3 and copyInputFileName, lengthInputFileName-2, 3 MA then begin Password Password1 InputBoxП А Р О Л Ь, Введите пароль, Password, 255 InputBoxП А Р О Л Ь, Введите пароль еще раз, Password1, 255 if Password

Password1 and lengthPassword 0 then begin FindFirstInputFileName, AnyFile, DirInfo if DOSError 0 then begin AssignInpF, InputFileName ResetInpF Position 0 Exten for i 1 to 3 do begin ReadInpF, Temp Exten Exten chrTemp end for i lengthInputFileName downto 1 do if InputFileNamei . then begin OutputFileName copyInputFileName,

1, i Exten break end AssignOutF, OutputFileName RewriteOutF for i 1 to lengthPassword do TPasswordiordPasswordi k 1 repeat begin for i1 to 64 do ReadInpF, MasBytei for i1 to 8 do начальная перестановка for j1 to 8 do case i of 1 Mas8i-1jMasByte66-8j 2 Mas8i-1jMasByte68-8j 3 Mas8i-1jMasByte70-8j 4 Mas8i-1jMasByte72-8j 5 Mas8i-1jMasByte65-8j 6 Mas8i-1jMasByte67-8j 7

Mas8i-1jMasByte69-8j 8 Mas8i-1jMasByte71-8j end T0 ordPasswordk if k lengthPassword then inck else k 1 for i 1 to 64 do begin NowPos 100PositionDirInfo.Size incPosition, 2 If NowPos 100 then NowPos 100 StrRoundNowPos3, Pos if OptInd 0 then begin GoToXY77, 1 WritePos end Ti A Ti-1 C mod M CodeMasi CodeTi xor Code Masi Code end MasEnd

Mas for i 1 to 64 do WriteOutF, MasEndi end until eofInpF GotoXY77, 1 write100 MyMessageBoxФайл InputFileName расшифрован в OutputFileName, nil, mfInformationmfOkButton CloseInpF if OptFile 1 then EraseInpF CloseOutF end else MyMessageBoxФайл InputFileName не существует, nil, mfInformationmfOkButton end else

MyMessageBox Ошибка ввода пароля, nil, mfErrormfOkButton end else MyMessageBox Файл не выбран, nil, mfErrormfOkButton end Опции криптографии constructor TOptions.Init var R TRect Q, Q1 PView Butt TRadioButtons begin R.Assign0, 0, 60, 11 inherited InitR, Криптография Options Options or ofCentered R.

Assign10, 8, 20, 10 InsertNewPButton, InitR, Ага, cmOK, bfDefault R.Assign40, 8, 50, 10 InsertNewPButton, InitR, Нека, cmCancel, bfNormal R.Assign2, 2, 25, 3 InsertNewPLabel, InitR, Исходный файл, Q R.Assign5, 4, 21, 6 QNewPRadioButtons, InitR, NewSItemНе удалять, NewSItemУдалять, nil InsertQ R.Assign27, 2, 45, 3

InsertNewPLabel, InitR, Индикатор, Q1 R.Assign30, 4, 50, 6 Q1NewPRadioButtons, InitR, NewSItemВысвечивать, NewSItemНе высвечивать, nil InsertQ1 end Изменение пароля на вход в систему procedure Passwords var Ps, Ps1 string I byte tmp char begin Ps Ps1 InputBoxП А Р О Л Ь, Введите пароль, Ps, 255 for i 1 to lengthPs do

Psi chrordPsi xor 27 if Ps Pass then begin MyMessageBox Неверный пароль, nil, mfErrormfOkButton ClrScr writelnНесанкционированный доступ Halt end InputBoxИ З М Е Н Е Н И Е П А Р О Л Я, Введите новый пароль, Ps, 255 InputBoxИ З М Е Н Е Н И Е П А Р О Л Я, Повторите ввод, Ps1, 255 if Ps Ps1 and Ps then begin AssignFilePass, system.res

RewriteFilePass for i 1 to lengthPS do begin tmp chrordPsi xor 27 WriteFilePass, tmp end CloseFilePass end else MyMessageBox Ошибка ввода пароля, nil, mfErrormfOkButton end Обработка ошибок procedure CheckExec var St string begin StrDOSError, St case DOSError of 2 MyMessageBox Ошибка DOS St Файл не найден, nil, mfError mfOkButton 3

MyMessageBox Ошибка DOS St Путь не найден, nil, mfError mfOkButton 5 MyMessageBox Ошибка DOS St Неверный код доступа к файлу, nil, mfError mfOkButton 6 MyMessageBox Ошибка DOS St Неверный код системного обработчика файла, nil, mfError mfOkButton 8 MyMessageBox Ошибка DOS St Недостаточно памяти, nil, mfError mfOkButton 10 MyMessageBox Ошибка DOS St Неверная среда, nil, mfError mfOkButton 11

MyMessageBox Ошибка DOS St Неправильный формат, nil, mfError mfOkButton 18 MyMessageBox Ошибка DOS St Нет свободных обработчиков для файлов, nil, mfError mfOkButton end end procedure MakeComFilek byte const S array 1 4 of string csubrosaplus csubrosapassw csubrosablock csubrosakeydisk. Size array 1 4 of word 1068, 204, 617, 2118 Inden array 1 4, 1 3 of byte ordы, 26 , ordР, ordы, 39 , ordР, ordщ, ordЙ, ord, ordщ, ordА, ord var

I, Tmp byte F array 1 4, 1 2 of file M array 1 2200 of byte NumRead, NumWritten Word begin assignFk, 1, Sk resetFk, 1, 1 assignFk, 2, Skcom rewriteFk, 2, 1 for i 1 to 3 do begin BlockReadFk, 1, tmp, 1, NumRead BlockWriteFk, 2, Indenk, i, 1, NumWritten end BlockReadFk, 1, M, Sizek-3, NumRead

BlockWriteFk, 2, M, Sizek-3, NumWritten closeFk, 1 closeFk, 2 end procedure DelComFilek byte const S array 1 4 of string plus.com, passw.com, block.com, keydisk.com S array 1 4 of string csubrosaplus.com, csubrosapassw.com, csubrosablock.com, csubrosakeydisk.com var F array 1 4 of file begin AssignFk, Sk EraseFk end Д О П И С А Т Ь К Ф А Й Л У procedure PlusWhatDo string var

FileStr, Err string CmdLine string I byte FileName FNameStr Regs Registers begin Проверка условий if LengthFName 3 then begin if copyFName, lengthFName-2, 3 EXE or copyFName, lengthFName-2, 3 COM then begin Преобразование имени файла for i lengthfname downto 1 do if fnamei then begin CmdLine copyFName, i1, lengthFName - i break end for i 1 to lengthCmdLine do if CmdLinei in A Z then CmdLinei chrordCmdLinei 32 for i 1 to lengthMainDir do if

MainDiri in A Z then MainDiri chrordMainDiri 32 MakeComFile1 If WhatDo SetPass then MakeComFile2 If WhatDo KeyDisk then MakeComFile4 Выполнить дописывание SwapVectors Exec MainDir plus.com , CmdLine MainDir WhatDo SwapVectors DelComFile1 If WhatDo SetPass then DelComFile2 If WhatDo

KeyDisk then DelComFile4 Обработчик ошибок if DosError 0 then CheckExec else begin regs.ah 4D with regs do msdosregs case Regs.AH of 0 MyMessageBox Файл FName защищен nil, mfInformation mfOkButton 1 MyMessageBox Ctrl-C или Ctrl-Break nil, mfError mfOkButton 2 MyMessageBox Критическая ошибка устройства nil, mfError mfOkButton 3

MyMessageBox TSR - программа nil, mfError mfOkButton end end end else MyMessageBox Ошибка выбора файла , nil, mfError mfOkButton end else MyMessageBox Файл не выбран , nil, mfError mfOkButton end Б Л О К И Р О В К А В И Н Ч Е С Т Е Р А procedure LockDisk label end var Regs registers Err string Inst byte begin Проверка наличи программы в памяти asm push ax push dx mov

Inst, 0 mov ax,1059h mov dx,2517h int 13h cmp ax,2517h jne End cmp dx,1059h jne End mov Inst, 1 End pop dx pop ax end if Inst 0 then begin MakeComFile3 Установить защиту SwapVectors SetIntVec09, Int09Save ExecMainDir block.com, GetIntVec09, Int09Save SwapVectors Обраюотчик ошибок if DosError 0 then

CheckExec else begin regs.ah 4D with regs do msdosregs case Regs.AH of 0 MyMessageBox Ненормальное завершение nil, mfError mfOkButton 1 MyMessageBox Ctrl-C или Ctrl-Break nil, mfError mfOkButton 2 MyMessageBox Критическая ошибка устройства nil, mfError mfOkButton 3 MyMessageBox Винчестер блокирован nil, mfInformation mfOkButton

TSR end end end else MyMessageBox Защита уже установлена nil, mfError mfOkButton end Изменить стандартную палитру function TDirDialog.GetPalette PPalette const Синяя палитра CMyCluster P string 32 CMyCluster begin GetPalette P end Окно работы с каталогами constructor TMyChDirDialog.InitAOptions Word HistoryId Word var

R TRect ScrollBar PScrollBar CurDir DirStr begin Создание окна R.Assign16, 2, 64, 20 TDialog.InitR, Изменить катлог Options Options or ofCentered Строка ввода имени каталога R.Assign3, 3, 30, 4 DirInput NewPInputLine, InitR, 68 InsertDirInput R.Assign2, 2, 17, 3 InsertNewPLabel,

Init R, Имя каталога, DirInput Список каталогов R.Assign32, 6, 33, 16 ScrollBar NewPScrollBar, InitR InsertScrollBar R.Assign3, 6, 32, 16 DirList NewPDirListBox, InitR, ScrollBar InsertDirList R.Assign2, 5, 19, 6 InsertNewPLabel, Init R, Дерево каталогов, DirList

Формирование кнопок R.Assign35, 6, 45, 8 OkButton NewPButton, Init R, Ага, cmOK, bfDefault InsertOkButton IncR.A.Y,3 IncR.B.Y,3 ChDirButton NewPButton, Init R, Смена, cmChangeDir, bfNormal InsertChDirButton IncR.A.Y,3 IncR.B.Y,3 InsertNewPButton, Init R, Нека, cmCancel, bfNormal if AOptions and cdNoLoadDir 0 then

SetUpDialog SelectNextFalse end procedure TMyChDirDialog.SetUpDialog var CurDir DirStr begin if DirList nil then begin CurDir GetCurDir DirList.NewDirectoryCurDir if LengthCurDir 3 and CurDirLengthCurDir then CurDir CopyCurDir,1,LengthCurDir-1 if DirInput nil then begin DirInput.Data CurDir DirInput.

DrawView end end end function TMyChDirDialog.ValidCommand Word Boolean var P PathStr begin Valid True if Command cmOk then begin P FExpandDirInput.Data if LengthP 3 and PLengthP then DecP0 I- ChDirP if IOResult 0 then begin MyMessageBox Неправильный каталог, nil, mfError mfOkButton Valid

False end I end end Инициализировать рабочее поле constructor TMyBackground.Initvar Bounds TRect AText TTitleStr begin inherited InitBounds, Text AText while LengthText SizeOfTTitleStr - 1 do Text Text AText end procedure TMyBackground.Draw var DrawBuffer TDrawBuffer begin MoveStrDrawBuffer, Text,

GetColor1 WriteLine0, 0, Size.X, Size.Y, DrawBuffer end procedure TMyDesktop.InitBackground var R TRect begin GetExtentR Background NewPMyBackground, InitR, end Изменить стандартную палитру function TMyStaticText.GetPalette PPalette const Синяя палитра CMyCluster P string 32 CMyCluster begin GetPalette

P end Окно О Программе constructor TAboutBox.Init var R TRect begin R.Assign0, 0, 30, 16 inherited InitR, О программе Options Options or ofCentered R.Assign10, 13, 20, 15 InsertNewPButton, InitR, Ага, cmOK, bfDefault R.Assign11, 2, 19, 3 InsertNewpMyStaticText, InitR, Sub Rosa R.Assign1, 4, 29, 5

InsertNewpStaticText, InitR, Система защиты данных от НСД R.Assign5, 5, 29, 6 InsertNewpStaticText, InitR, выполнена учащимися R.Assign10, 6, 29, 7 InsertNewpStaticText, InitR, гр. 4641 R.Assign6, 7, 29, 8 InsertNewpStaticText, InitR, Егановым Максимом R.Assign14, 8, 22, 9 InsertNewpStaticText,

InitR, и R.Assign6, 9, 29, 10 InsertNewpStaticText, InitR, Юзефовичем Артемом R.Assign6, 11, 29, 12 InsertNewpStaticText, InitR, МГВРК, Минск, 1996 end Работа программы начинается здесь constructor TMyApp.Init var ReturnVal, i Word DirInfo, DirInfo1, DirInfo2 SearchRec DirInfo3, DirInfo4, DirInfo5 SearchRec

Pas string st char begin OptInd 1 Инициализировать файл ресурсов MyRes.InitNewPBufStream, InitSetup.res, stOpen, 1024 if MyRes.Stream.Status stOK then begin WriteНарушение целостности halt1 end RegisterTypeRMenuBar Проверить целостность системы MainDir GetCurDir FindFirstplus, AnyFile, DirInfo FindFirstpassw,

AnyFile, DirInfo1 FindFirstblock, AnyFile, DirInfo2 FindFirstkeydisk, AnyFile, DirInfo3 FindFirstsetup.res, AnyFile, DirInfo4 if DOSError 0 and DirInfo.Size 1068 and DirInfo1.Size 204 and DirInfo2.Size 617 and DirInfo3.Size 2118 and DirInfo4.Size 522 then begin Получить пароль AssignFilePass, system.res

ResetFilePass Pass while not EOFFilePass do begin readFilePass, st Pass Pass st end CloseFilePass Инициализировать систему TApplication.Init Pas ReturnVal ExecuteDialogNewPAboutBox, Init, nil InputBoxП А Р О Л Ь, Введите пароль, Pas, 255 for i 1 to lengthPas do Pasi chrordPasi xor 27 if

Pas Pass then begin MyMessageBox Неверный пароль, nil, mfErrormfOkButton ClrScr writelnНесанкционированный доступ Halt end end else begin writelnНарушение целостности Halt end end Завершение работы destructor TMyApp.Done begin TApplication.Done MyRes.Done end Обработка событий procedure TMyApp.HandleEventvar Event TEvent procedure ChangeDir var

D PMyChDirDialog begin D NewPMyChDirDialog, InitcdNormal, 101 ExecuteDialogD, nil end var ReturnVal Word regs Registers R TRect begin inherited HandleEventEvent case Event.What of evCommand begin case Event.Command of cmAboutBox ReturnVal ExecuteDialogNewPAboutBox, Init, nil cmOpen

FileOpen. cmChangeDir ChangeDir cmSetPass PlusSetPass cmKeyDisk PlusKeyDisk cmCode ShifrFName cmDeCode DeShifrFName cmLockDisk LockDisk cmOptions ReturnVal ExecuteDialogNewPOptions, Init, OptFile cmPasswords Passwords end ClearEventEvent end end end Инициализировать меню procedure TMyApp.InitMenuBar var

R TRect begin Получить меню из файла ресурсов по ключу Config - функция получения даты BIOS модуль SetConf MenuBar PMenuBarMyRes.GetConfig if MenuBar nil then begin Write Нелегальная копия halt1 end end Инициализировать рабочее поле procedure TMyApp.InitDesktop var R TRect begin GetExtentR R.Grow0, -1

Desktop NewPMyDesktop, InitR end Инициализировать строку состояния procedure tMyApp.InitStatusLine var R tRect begin GetExtentR R.A.Y R.B.Y - 1 StatusLine NewpStatusLine, InitR, NewStatusDef0, FFFF, NewStatusKeyF1 О программе, kbF1, cmAboutBox, NewStatusKeyF3 Файл, kbF3, cmOpen, NewStatusKeyF5

Пароль, kbF10, cmMenu, NewStatusKeyF9 Настройки, kbF9, cmOptions, NewStatusKeyF10 Меню, kbF10, cmMenu, NewStatusKeyAlt-X Выход, kbAltX, cmQuit, nil, nil end Изменить основную палитру function TMyApp.GetPalette PPalette const P Array apColor apMonochrome of stringLengthCAppColor CAppColor, CAppBlackWhite, CAppMonochrome begin PapColor,

50 11 1F PapColor, 51 11 2F PapColor, 1 21 71 GetPalette PAppPalette end Изменить палитру окна выбора файлов function TMyFDialog.GetPalette PPalette const Синяя палитра CMyCluster P string 32 CMyCluster begin GetPalette P end Инициализировать окно выбора файлов constructor

TMyFileDialog.InitAWildCard tWildStr const ATitle, InputName string AOptions Word HistoryId Byte var ScrollBar PScrollBar R TRect begin Создание окна диалога R.Assign15, 1, 64, 20 TDialog.InitR, ATitle Options Options or ofCentered WildCard AWildCard Строка ввода имени файла R.Assign3, 3, 31, 4

FileName NewPFileInputLine, InitR, 79 FileName.Data WildCard InsertFileName R.Assign2, 2, 6, 3 InsertNewPLabel, InitR, InputName, FileName R.Assign31, 3, 34, 4 InsertNewPHistory, InitR, FileName, HistoryId Линейка скроллинга и список файлов R.Assign3, 14, 34, 15 ScrollBar NewPScrollBar, InitR

InsertScrollBar R.Assign3, 6, 34, 14 FileList NewPFileList, InitR, ScrollBar InsertFileList R.Assign2, 5, 8, 6 InsertNewPLabel, InitR, Файлы, FileList Задание кнопок R.Assign35, 3, 46, 5 if AOptions and fdOpenButton 0 then begin InsertNewPButton, Init R, Открыть, cmFileOpen, bfDefault

IncR.A.Y,3 IncR.B.Y,3 end if AOptions and fdOkButton 0 then begin InsertNewPButton, Init R, Ага, cmFileOpen, bfNormal IncR.A.Y,3 IncR.B.Y,3 end if AOptions and fdReplaceButton 0 then begin InsertNewPButton, Init R, Замена,cmFileReplace, bfNormal IncR.A.Y,3 IncR.B.Y,3 end if AOptions and fdClearButton 0 then begin

InsertNewPButton, Init R, Удал cmFileClear, bfNormal IncR.A.Y,3 IncR.B.Y,3 end InsertNewPButton, Init R, Нека, cmCancel, bfNormal Информационная панель с параметрами файла R.Assign1, 16, 48, 18 InsertNewPFileInfoPane, InitR SelectNextFalse Загрузка каталога if AOptions and fdNoLoadDir 0 then begin

FileList.ReadDirectoryWildCard Directory NewStrGetCurDir end end Var MyApp TMyApp Переменная основного объекта Begin WriteLnСистема защиты данных от НСД. Версия 1.0 beta. 1996 МГВРК Еганов М. Ю Юзефович А. Г. GetIntVec09,Int09Save MyApp.Init MyApp.Run MyApp.Done SetIntVec09, Int09Save

End.



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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Инвестиционный менеджмент 4
Реферат Исследование нановолокон карбида кремния при помощи сканирующей туннельной микроскопии
Реферат Организация работы мясо-рыбного цеха общедоступной столовой
Реферат Fun Essay Research Paper Why not just
Реферат Hemp Essay Research Paper Hemp Hawaii
Реферат Проблема «я» и гениальность
Реферат Экономическое обоснование, создание малого предприятия акционерного типа
Реферат Пути повышения эффективности животноводства на примере колхоза
Реферат Инвестиционная политика предприятия 4
Реферат Выделительная система 2
Реферат Политическая система общества, ее структура и функции
Реферат Принципы построения баланса в российской и международной практике на примере ОАО Кондитер
Реферат Процесуальні строки в цивільному процесі 2
Реферат Бессмертие души как объект познания
Реферат Расчет опоры путепровода, устойчивости подпорной стенки