Защита с учетом особенностей компилятора
Обфускация RTTI и служебных данных Delphi и Free Pascal
Виртуализация кода сама по себе не скрывает имена классов, структуру форм, элементы управления, события и другие служебные данные, по которым исследователь может быстро понять устройство программы. DotFix NiceProtect защищает эти структуры в скомпилированных 32- и 64-разрядных приложениях Delphi и Free Pascal.
Служебные данные раскрывают устройство программы
В исполняемых файлах Delphi и Free Pascal сохраняется информация, необходимая библиотекам и среде выполнения. Такие имена, как главная форма, окно регистрации, метод проверки лицензии или обработчик кнопки, превращаются в понятную карту уже скомпилированной программы.
Обычный упаковщик или защита могут затруднить чтение только машинных инструкций. Метаданные компилятора же нужно защищать отдельно, используя предварительную декомпиляцию и анализ. Именно это и производит DotFix NiceProtect.

Какие структуры преобразует NiceProtect
Классы и формы
Заменяет осмысленные имена классов, форм и объектов, сохраняя необходимые приложению связи между ними.
Элементы управления и вложенные объекты
Защищает имена объектов и поддерживаемых событий, включая вложенные элементы: кнопки панелей инструментов, компоненты графиков и другие составные структуры.
События и методы
Убирает понятные обозначения, способные сразу привести исследователя к важной деловой логике или проверке лицензии.
Новый результат при каждом запуске
Для каждого цикла защиты создается свой набор случайных имен, а не один постоянный шаблон замен.
Сочетайте обфускацию данных с защитой машинного кода
Обфускация скрывает служебные структуры компилятора. Дополнительно NiceProtect может виртуализировать или мутировать выбранные функции, противодействовать отладке и трассировке, упаковывать код и ресурсы. Каждый слой усложняет свой этап анализа программы.
Для наиболее важных алгоритмов можно выбрать машинный код, который требуется виртуализировать.

Технические подробности
В обзоре DotFix NiceProtect 26.1 описан переработанный обфускатор Delphi и Free Pascal, а статья об архитектуре защиты объясняет, почему для безопасного изменения этих структур защите требуются знания внутреннего устройства компиляторов. Дополнительные сведения приведены в официальной документации по обфускации.
Проверьте результат на своем проекте: после защиты выполните обычные функциональные испытания программы с теми же параметрами компилятора и библиотеками, которые используются в выпускаемой версии.
Оцените защиту служебных данных своей программы
Скачайте ознакомительную версию, обработайте сборку Delphi или Free Pascal и проверьте результат в привычных сценариях работы до приобретения лицензии.