Contents

Code Protection



DotFix NiceProtect поддерживает морфинг и виртуализацию функций, выбранных пользователем. Для использования этой возможности, при компиляции своей программы Вы должны в настройках компилятора включить создание MAP файла. Этот файл будет содержать перечень функций Вашей программы и их адреса. Затем откройте Вашу программу в NiceProtect'е. Все функции из MAP файла будут доступны для защиты на вкладке Virtualize.

Поставьте галочки возле тех функций которые Вы хотели бы защитить.



Имейте ввиду, что одинарный щелчок пометит функцию для защиты, а  двойной откроет окно дизассемблера.



DotFix NiceProtect также обладает одной уникальной возможностью - Вы можете посмотреть в дизассемблере не только оригинальный код но и код после морфинга и виртуализации. Для этого в дизассемблере переключите радиокнопку в положение Virtualized.



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



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

Совет: Если Вы защищаете функции не от декомпилирования а от анализа, то рекомендуем использовать маркеры из SDK. Это связано с тем что протектор защищает не всю функцию, а только определенное число команд с ее начала (до первого цикла или прыжка назад). В случае маркеров - защищается только помеченный Вами критичный код.