Профессиональные решения

для защиты Windows приложений

и восстановления исходного кода

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

Обфускация RTTI и служебных данных Delphi и Free Pascal

Виртуализация кода сама по себе не скрывает имена классов, структуру форм, элементы управления, события и другие служебные данные, по которым исследователь может быстро понять устройство программы. DotFix NiceProtect защищает эти структуры в скомпилированных 32- и 64-разрядных приложениях Delphi и Free Pascal.

Служебные данные раскрывают устройство программы

В исполняемых файлах Delphi и Free Pascal сохраняется информация, необходимая библиотекам и среде выполнения. Такие имена, как главная форма, окно регистрации, метод проверки лицензии или обработчик кнопки, превращаются в понятную карту уже скомпилированной программы.

Обычный упаковщик или защита могут затруднить чтение только машинных инструкций. Метаданные компилятора же нужно защищать отдельно, используя предварительную декомпиляцию и анализ. Именно это и производит DotFix NiceProtect.

Случайные имена форм, объектов и событий в De Decompiler после обфускации служебных данных Delphi
Даже сняв внешние слои защиты, исследователь увидит в декомпиляторе случайные обозначения вместо осмысленных имен.

Какие структуры преобразует NiceProtect

Классы и формы

Заменяет осмысленные имена классов, форм и объектов, сохраняя необходимые приложению связи между ними.

Элементы управления и вложенные объекты

Защищает имена объектов и поддерживаемых событий, включая вложенные элементы: кнопки панелей инструментов, компоненты графиков и другие составные структуры.

События и методы

Убирает понятные обозначения, способные сразу привести исследователя к важной деловой логике или проверке лицензии.

Новый результат при каждом запуске

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

Сочетайте обфускацию данных с защитой машинного кода

Обфускация скрывает служебные структуры компилятора. Дополнительно NiceProtect может виртуализировать или мутировать выбранные функции, противодействовать отладке и трассировке, упаковывать код и ресурсы. Каждый слой усложняет свой этап анализа программы.

Для наиболее важных алгоритмов можно выбрать машинный код, который требуется виртуализировать.

Настройка обфускации служебных данных Delphi и Free Pascal в DotFix NiceProtect
Специализированный движок разбирает и преобразует RTTI и связанные с ней структуры приложения.

Технические подробности

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

Проверьте результат на своем проекте: после защиты выполните обычные функциональные испытания программы с теми же параметрами компилятора и библиотеками, которые используются в выпускаемой версии.

Оцените защиту служебных данных своей программы

Скачайте ознакомительную версию, обработайте сборку Delphi или Free Pascal и проверьте результат в привычных сценариях работы до приобретения лицензии.