Защита программ

       

Упаковщики/шифраторы


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

Положительные стороны:

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

    Отрицательные стороны:

  • Практически все применяемые методы замедляют выполнение кода ПО.
  • Шифрование/упаковка кода ПО вызывает затруднения при обновлении (update) и исправлении ошибок (bugfix, servicepack).
  • Возможно повышение аппаратно-программных требований ПО.
  • В чистом виде данные системы не применимы для авторизации использования ПО.
  • Эти системы применимы лишь к продуктам небольшого объема (до 1 мегабайта).
  • Данный класс систем уязвим, так как программный код, в конечном итоге, распаковывается или расшифровывается для выполнения.
  • Обладают небольшим сроком безопасного использования, ввиду п.4
  • Упаковка и шифрование исполняемого кода вступает в конфликт с запрещением самомодифицирующегося кода в современных ОС.



    Содержание раздела