Утилита автоматической защиты исполняемых файлов

VMProtect SenseLock Edition (VMProtect SE) - это совместная разработка компании "Секьюлэб" и "VMProtect Software", в которой реализованы все новейшие достижения в области защиты программного обеспечения от пиратства:

  • виртуализация исполняемого кода;

  • упаковка и шифрование защищаемого файла;

  • выполнение кода защиты в ядре электронного ключа SenseLock (модель NET-RTC не поддерживается);

  • возможность создавать демонстрационные лицензии, ограничивающие количество запусков, устанавливать ограничения по времени работы программы, лицензировать разные участки кода с привязкой к различным лицензиям;

  • протокол обмена данными с электронным ключом на основе асимметричного алгоритма RSA-1024, исключающий появление эмуляторов.

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

В отличие от большинства уже существующих протекторов, которые лишь упаковывают и/или шифруют код программы при помощи электронного ключа, VMProtect SE преобразует защищаемый код в команды (байткод) используемой им виртуальной машины (ВМ). При этом во время выполнения байткода максимально используются возможности электронного ключа SenseLock, а обмен данными с ним осуществляется через плавающий протокол, основанный на асимметричном шифровании, что исключает создание эмулятора.

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

Совместное использование VMProtect и электронных ключей SenseLock позволяет получить максимально возможную степень защиты исполняемых файлов, на порядки превосходящую обычные протекторы и конверты, работающие с электронными ключами других производителей. При этом, сохраняются все преимущества использования SenseLock, такие как возможность работы без установки драйверов в режиме HID-устройства и высокая аппаратная надежность.

Работа виртуальной машины

Виртуальная машина, используемая в VMProtect SE, является виртуальным процессором, система команд которого сильно отличается от используемого в х86 компьютерах. Например, в нем нет команд, отвечающих за сравнение двух операндов, нет условных и безусловных переходов.

Во время защиты исполняемого файла, VMProtect SE преобразует код программы в байткод своей ВМ и записывает его вместо обычного, не защищенного кода. Он может по-разному обрабатывать защищаемый код в зависимости от выбранного типа компиляции. Рассмотрим подробнее что из себя представляет каждый тип компиляции:

  • Мутация. Исполняемый код видоизменяется на уровне команд процессора (существующие команды видоизменяются, добавляются различные мусорные команды и т.д.). Данный тип компиляции слабо защищает обрабатываемый код от взлома и анализа и главным образом препятствует определению обрабатываемых функций с помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и т.д.). Как правило, библиотечные функции не нуждаются в защите от взлома и анализа и достаточно будет только изменить их сигнатуры, чтобы взломщик не смог автоматически определить какие именно библиотеки Вы используете в своем приложении (степень защиты от взлома и анализа - низкая, скорость исполнения кода - высокая).
  • Виртуализация. Исполняемый код переводится в байткод, исполняемый на виртуальной машине. Данный тип компиляции следует применять для всех критичных участков кода где помимо противодействию взлому и анализу важна скорость работы (степень защиты от взлома и анализа - средняя, скорость исполнения кода - средняя).
  • Ультра (мутация + виртуализация). Исполняемый код видоизменяется на уровне команд процессора и уже после этого переводится в байткод, исполняемый на виртуальной машине. Данный тип компиляции следует применять для всех участков кода где не важна скорость работы (степень защиты от взлома и анализа - высокая, скорость исполнения кода - низкая).

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

Пример использования

В качестве примера работы VMProtect SE, мы защитим приложение NOTEPAD.EXE, входящее в стандартную поставку операционной системы Microsoft Windows. Запустите программу в режиме "Эксперт" и загрузите NOTEPAD.EXE. В опциях проекта укажите правильные данные для доступа к электронным ключам и настройки лицензирования.

Далее, нам необходимо добавить процедуры, которые мы хотим защитить в NOTEPAD.EXE. Для этого переходим в закладку "Процедуры для защиты" и выбираем функцию "Добавить процедуру..."

В появившемся окне мы настраиваем параметры защиты и привязки к электронному ключу. В том случае, если вы хотите отключить использование ключа и осуществлять только проверку его наличия (что делать не рекомендуется), то уберите галочку с параметра "Привязать к ключу".

После этого необходимо выбрать имена функций, которые мы хотим защитить. Их можно выбрать или из списка на вкладке "Все процедуры", или используя поиск.

На этом настройка заканчивается и остается только скомпилировать проект, чтобы получить защищенный файл.

После компиляции будет создан файл NOTEPAD.VMP.EXE, защищенный конвертом VMProtect SE. Теперь, если попробовать запустить защищенное приложение без электронного ключа, то будет выдаваться соответствующий код ошибки.

Как видите, процесс защиты достаточно прост, при этом сохраняется высокая надежность защиты программного обеспечения!

Технические параметры

Поддерживаемые компиляторы:

  • Delphi
  • Borland C Builder
  • Visual C/C++
  • Visual Basic (native)
  • Virtual Pascal

Поддерживаемые форматы (32 и 64 битные):

  • EXE
  • DLL
  • BPL
  • OCX

Поддерживаемые операционные системы:

  • Windows 95/98/ME
  • Windows NT
  • Windows 2000
  • Windows XP
  • Windows 2003
  • Windows Vista
  • Windows 7

Приобретение

Посмотреть стоимость VMProtect SenseLock Edition и заказать его вы можете на нашем сайте, в разделе "Купить".