Секция "Функции для защиты"
Секция предназначена для выбора защищаемых функций.

Добавление функции
Для того чтобы добавить новый объект в проект, нажмите кнопку "Добавить функцию" на панели инструментов, либо выберите этот пункт в контекстном меню:

Появится диалог добавления функции:

Задайте адрес функции или выберите нужную функцию из списка на вкладке "Функции", начав набирать ее имя в строке быстрого поиска. Вы можете добавить сразу несколько функций, используя множественное выделение. Все выделенные функции будут добавлены с выбраными опциями защиты.
Опции
- Тип компиляции -
выбрать тип компиляции объекта. Правильный выбор способа защиты
от изучения и взлома для каждого защищаемого объекта
(процедуры, функции, фрагмента кода) обеспечит оптимальное
соотношение между защищенностью кода и его быстродействием.
VMProtect позволяет пользователю установить следующие типы
компиляции для каждого защищаемого объекта:
- Мутация. Исполняемый код
видоизменяется на уровне команд процессора - существующие
команды видоизменяются, добавляются различные мусорные
команды и т.д. Данный тип компиляции относительно слабо
защищает обрабатываемый код от взлома и анализа и главным
образом препятствует определению обрабатываемых функций с
помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и
т.д.). Этот тип компиляции целесообразно применять при
защите библиотечных функций, так как они, как правило, не
нуждаются в защите от взлома и анализа и достаточно будет
только изменить их сигнатуры, чтобы взломщик не смог
автоматически определить, какие именно библиотеки
используются в приложении. При использовании мутации
степень защиты от взлома и анализа низкая, скорость
исполнения кода высокая.
- Виртуализация. Исполняемый код
переводится в байт-код, исполняемый на виртуальной машине.
Данный тип компиляции следует применять для всех критичных
участков кода, где помимо противодействия взлому и анализу
важна скорость работы. При использовании виртуализации
степень защиты от взлома и анализа средняя, скорость
исполнения кода средняя.
- Ультра (мутация + виртуализация).
Исполняемый код видоизменяется на уровне команд процессора
и уже после этого переводится в байт-код, исполняемый на
виртуальной машине. Данный тип компиляции следует применять
для всех участков кода, где не важна скорость работы.
Степень защиты от взлома и анализа высокая, скорость
исполнения кода низкая.
- Привязать к серийному номеру - при включении данной опции защищенная функция будет недоступна без ввода валидного серийного номера. Таким образом можно, например, ограничивать доступ к определенным функциям приложения в незарегистрированной версии.
Поиск
Необходимые объекты можно отыскать по их имени в универсальном быстром поиске:

В строке поиска можно использовать стандартные символы подстановки:
- * - заменяет группу символов произвольной длины;
- ? - заменяет любой одиночный символ.
Добавление папки
Добавление папки осуществляется с помощью контекстного меню:

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

Редактирование объектов
В правой части окна отображается содержимое выбранного
объекта. Если в дереве проекта выбран защищаемый объект, то с
правой стороны отображается дизассемблированное представление
этого объекта:

Щелчок правой кнопкой мыши по строчке кода вызывает контекстное меню:

- Внешний
адрес - включить выбранный адрес в список внешних адресов;
- Конец функции - ограничить список
команд, которые будут обработаны в процессе компиляции;
Если в дереве проекта выбрана папка, то с правой стороны
отображается список функций, входящих в эту папку:

Перемещать функции из папки в папку можно простым
перетаскиванием при помощи мыши.
© 2006-2015 Copyright VMProtect Software