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