Технологии защиты
DotFix NiceProtect обеспечивает комплексную защиту вашего приложения: виртуализацию кода, обфускацию внутренних данных компилятора, упаковку и защиту ресурсов, а также имеет функции антиотладки и антитрассировки. При запуске вашего программного обеспечения после защиты, механизм DotFix NiceProtect расшифровывает раздел кода, распаковывает ресурсы и запускает код вашего приложения. При этом виртуализированный код исполняется на виртуальной машине и никогда не принимает исходный вид. Также все части встраиваемого DotFix NiceProtect кода защиты всегда уникальны. Каждый раз, когда вы нажимаете кнопку "Protect", NiceProtect генерирует уникальный код алгоритмов защиты с уникальными и абсолютно разными частями кода. Все части кода защиты разделены на команды ассемблера и каждый раз запутываются с помощью различных алгоритмов для полного исключения возможности автоматического анализа и распаковки. Это помогает защитить Ваше программное обеспечение от изучения и взлома злоумышленниками.
В загрузчике также размещается анти-трассировочный код. В случае запуска программы под отладчиком происходит замедление работы загрузчика, что детектируется, и загрузчик не выполняется. Для исключения возможности автоматической распаковки программы специализированными утилитами, в DotFix NiceProtect'е используется алгоритм скрытия стартового кода программы. Он также обфусцируется (команды заменяются на аналоги и разбавляются мусорными инструкциями), виртуализируется и перемещается в загрузчик защиты.
Важной особенностью DotFix NiceProtect является виртуализация кода. Используя маркеры Вы можете пометить критичный код для защиты еще на этапе программирования. Защита сама найдет метки и защитит код. Часть команд будет преобразовано в псевдокод для интерпретации исполнителем виртуальной машины, а часть будет обфусцирована (так называемая технология мутации). Также имеется возможность виртуализации пролога функций для исключения работы декомпиляторов (начальный код функции будет содержать мусор что вызовет некорректную работу декомпиляторов). Функции для такой защиты можно выбрать через MAP файл.
Ключевой особенностью NiceProtect, отсутствующей у всех конкурирующих продуктов является обфускация служебных данных, оставленных компилятором. Эта функция поддерживается для программ, написанных на Delphi начиная с 3 версии, включая Delphi 12, а также для программ на Visual Basic 5.0/6.0. Мало кто знает, но в скомпилированном файле сохраняются имена всех форм, элементов управления, служебная информация о проекте, а также имена событий и публичных функций. Иногда даже с прототипами. Все это помогает взломщику понять алгоритм Вашей программы и взломать ее. Все это можно избежать благодаря нашим наработкам в области декомпиляции. DotFix NiceProtect умеет декомпилировать бинарные файлы и удалять все неиспользуемые данные.
После защиты полученный файл может быть запакован для снижения разрастания размера после защиты. Упаковка ложится отдельным слоем и также имеет средства противодействия анализу. Также поддерживается упаковка и защита ресурсов.