Заказ работы

Заказать
Каталог тем

Самые новые

Значок файла Определение показателя адиабаты воздуха методом Клемана-Дезорма: Метод, указ. / Сост.: Е.А. Будовских, В.А. Петрунин, Н.Н. Назарова, В.Е. Громов: СибГИУ.- Новокузнецк, 2001.- 13 (4)
(Методические материалы)

Значок файла ОПРЕДЕЛЕНИЕ ОТНОШЕНИЯ ТЕПЛОЁМКОСТИ ГАЗА ПРИ ПОСТОЯННОМ ДАВЛЕНИИ К ТЕПЛОЁМКОСТИ ГАЗА ПРИ ПОСТОЯННОМ ОБЪЁМЕ (3)
(Методические материалы)

Значок файла Лабораторная работа 8. ОПРЕДЕЛЕНИЕ ДИСПЕРСИИ ПРИЗМЫ И ДИСПЕРСИИ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ СТЕКЛА (6)
(Методические материалы)

Значок файла ОПРЕДЕЛЕНИЕ УГЛА ПОГАСАНИЯ В КРИСТАЛЛЕ С ПО-МОЩЬЮ ПОЛЯРИЗАЦИОННОГО МИКРОСКОПА Лабораторный практикум по курсу "Общая физика" (4)
(Методические материалы)

Значок файла Лабораторная работа 7. ПОЛЯРИЗАЦИЯ СВЕТА. ПРОВЕРКА ЗАКОНА МАЛЮСА (7)
(Методические материалы)

Значок файла Лабораторная работа № 7. ИЗУЧЕНИЕ ВРАЩЕНИЯ ПЛОЩАДИ ПОЛЯРИЗАЦИИ С ПОМОЩЬЮ САХАРИМЕТРА (6)
(Методические материалы)

Значок файла Лабораторная работа 6. ДИФРАКЦИЯ ЛАЗЕРНОГО СВЕТА НА ЩЕЛИ (8)
(Методические материалы)

Каталог бесплатных ресурсов

Защита коммерческого программного обеспечения

1. Постановказадачи

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

2. Теоретические сведения

Простейшим способом проверки легальностикопии программного обеспечения является следующий способ. У пользователязапрашивается пароль (функция Password()), и если введенкорректный пароль (функция Password() возвращает 1), топользователю разрешается продолжить работу с программой; иначе ¾ доступ запрещается:

if(!Password())

  {

  pError(“Access denied!”);

  abort();

  }

Этот участок транслируется вследующий код:

CALL Password

OR AX,AX

JZ continue

PUSH offsetstr_access_denied

CALL pError

. . .

continue: 

                  . . .

Ветвь кода после метки «continue»¾ ветвь нормального продолжения работыпрограммы.

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

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

Вторым простейшим способомзащиты программы от взлома является запрет на открытое хранение пароля вовнешнем файле. Пример ¾ хранение паролей воперационной системе UNIX. Доступ к файлу паролей недает никакой информации о самих паролях. Пароли хранятся в зашифрованном виде.Дешифрация паролей ¾ нетривиальная задача.Знание алгоритма шифрования и самого пароля не дает предположений об исходномпароле.

Наиболее часто используемаяфункция при шифровании пароля ¾ логическая функция«исключающее ИЛИ», или XOR. Шифрование с применением XORчасто применяется для шифровки собственного кода в целях затруднения анализа имодификации кода.

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



Размер файла: 69 Кбайт
Тип файла: doc (Mime Type: application/msword)
Заказ курсовой диплома или диссертации.

Горячая Линия


Вход для партнеров