Логический элемент
Download 384.49 Kb.
|
Answers
3.4. Системы защиты от копирования. Принципы построения, требования и элементы систем. Средства защиты носителей информации. Средства защиты от применения программ-отладчиков и дизассемблирования. Конвейер команд. Прерывания. Регистр флагов. Преобразования и замена команд3.4. СИСТЕМИ ЗАХИСТУ ВІД КОПІЮВАННЯ. ПРИНЦИПИ ПОБУДОВИ, ВИМОГИ ТА ЕЛЕМЕНТИ СИСТЕМ. ЗАСОБИ ЗАХИСТУ НОСІЇВ ІНФОРМАЦІЇ. ЗАСОБИ ЗАХИСТУ ВІД ЗАСТОСУВАННЯ ПРОГРАМ-ВІДЛАГОДНИКІВ ТА ДЕЗАСЕМБЛЮВАННЯ. КОНВЕЄР КОМАНД. ПЕРЕРИВАННЯ. РЕГІСТР ПРАПОРІВ. ПЕРЕТВОРЕННЯ ТА ЗАМІНА КОМАНД. Система защиты от копирования или система защиты авторских прав — комплекс программных или программно-аппаратных средств, обеспечивающих затруднение или запрещение нелегального распространения, использования и/или изменения программных продуктов. Требования: 1) некопируемость дискет автоматическими копировщиками, 2) невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика, 3) некорректное дисассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов. 4) невозможность трассировки по существенно важным прерываниям при помощи стандартных средств. При атом будет скрыт обмен программы с «внешним миром» — диском, DOS и т. д. 5) затрудненность изучения структуры распознавания индивидуальных параметров ПЭВМ или технологического анализа применяемых аппаратных средств защиты. Принципы построения: 1) Модуль проверки недублируемой или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальную для данной ПЭВМ информацию. 1.1) системы с «навесным» проверочным модулем, созданным по технологии файлового; 1.2) системы с внешним проверочным модулем, вынесенным в отдельную программу; 1.3) системы с внутренними функциями проверки. 2) Модуль защиты от просмотра и анализа логики системы. 3) Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий. Программы, защищенные только от дисассемблирования, могут легко трассироваться, и наоборот — программы, защищенные только от трассировки, могут быть дисассемблированы. В следствие этого для противодействия изучению алгоритмов систем защиты необходимо иметь средства, препятствующие как дисассемблированию, так и трассировке. Базисом для построения любого отладчика служат методы покомандного выполнения (флаг TF=1) программы и контрольной точки (INT 3). Для защиты дизассемблирования используется совмещение стекового и кодового сегментов, замена одной последовательности команд на эквивалентную. Для I80386 конвейер команд составляет 16 байт. После очистки (командами JMP, INT, CALL, RET, IRET) конвейер заполняется следующими командами, которые выполняются уже с нового адреса. Но при работе отладчика в режиме трассировки конвейер очищается после каждой команды. test proc mov bx,offset xxx ; ds=cs jmp short clr ;очищаем конвейер clr: mov byte ptr [bx],0c3h ; код команды ret xxx:mov ah,9 mov dx,offset msg int 21h ret msg db 'Отладочные средства не используются$' test endp Для противодействия отладчикам использующим прерывания 1(вызывает очистку очереди команд конвейера, загружает очередную команду и выполняет её) и 3 (останавливает работу программы в заданной точке) можно изменить вектора этих прерываний на свою подпрограмму. Т.к. отладчик берёт на себя прерывания 8 (таймер) и 9 (клавиатура), то программа защиты перехватив эти прерывания, может в своём обработчике проверять состояние флага IF(флаг прерывания). Если IF=1, то можно производить действия по предотвращению отладки. Аналогично с флагом TF.
Download 384.49 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling