mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2024-12-27 08:49:27 +03:00
135 lines
9.1 KiB
HTML
135 lines
9.1 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|||
|
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|||
|
<head>
|
|||
|
<link rel="Stylesheet" type="text/css" href="default.css" />
|
|||
|
<meta http-equiv="Content-Type" content=
|
|||
|
"text/html; charset=utf-8" />
|
|||
|
|
|||
|
<title>Секция "Функции для защиты"</title>
|
|||
|
<style type="text/css">
|
|||
|
/*<![CDATA[*/
|
|||
|
div.c2 {text-align: center}
|
|||
|
/*]]>*/
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<h1>Секция "Функции для защиты"</h1>
|
|||
|
|
|||
|
<p>Секция предназначена для выбора защищаемых функций.</p>
|
|||
|
<p><img src="images/project_functions.png" /></p>
|
|||
|
<h3 id="AddFunction">Добавление функции</h3>
|
|||
|
<p>Для того чтобы добавить новый объект в проект, нажмите кнопку "Добавить функцию" на панели инструментов, либо выберите этот пункт в контекстном меню:</p>
|
|||
|
<p><img src="images/project_functions_menu.png" /></p>
|
|||
|
<p>Появится диалог добавления функции:</p>
|
|||
|
<p><img src="images/project_add_function.png" /></p>
|
|||
|
<p>Задайте адрес функции или выберите нужную функцию из списка на вкладке "Функции", начав набирать ее имя в строке быстрого поиска. Вы можете добавить сразу несколько функций, используя множественное выделение. Все выделенные функции будут добавлены с выбраными опциями защиты.</p>
|
|||
|
<p><strong>Опции</strong></p>
|
|||
|
<ul>
|
|||
|
<li><a name="CompilationTypes" id=
|
|||
|
"CompilationTypes"><strong>Тип компиляции</strong></a> -
|
|||
|
выбрать тип компиляции объекта. Правильный выбор способа защиты
|
|||
|
от изучения и взлома для каждого защищаемого объекта
|
|||
|
(процедуры, функции, фрагмента кода) обеспечит оптимальное
|
|||
|
соотношение между защищенностью кода и его быстродействием.
|
|||
|
VMProtect позволяет пользователю установить следующие типы
|
|||
|
компиляции для каждого защищаемого объекта:</li>
|
|||
|
<ul>
|
|||
|
<li><strong>Мутация.</strong> Исполняемый код
|
|||
|
видоизменяется на уровне команд процессора - существующие
|
|||
|
команды видоизменяются, добавляются различные мусорные
|
|||
|
команды и т.д. Данный тип компиляции относительно слабо
|
|||
|
защищает обрабатываемый код от взлома и анализа и главным
|
|||
|
образом препятствует определению обрабатываемых функций с
|
|||
|
помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и
|
|||
|
т.д.). Этот тип компиляции целесообразно применять при
|
|||
|
защите библиотечных функций, так как они, как правило, не
|
|||
|
нуждаются в защите от взлома и анализа и достаточно будет
|
|||
|
только изменить их сигнатуры, чтобы взломщик не смог
|
|||
|
автоматически определить, какие именно библиотеки
|
|||
|
используются в приложении. При использовании мутации
|
|||
|
степень защиты от взлома и анализа низкая, скорость
|
|||
|
исполнения кода высокая.</li>
|
|||
|
|
|||
|
<li><strong>Виртуализация.</strong> Исполняемый код
|
|||
|
переводится в байт-код, исполняемый на виртуальной машине.
|
|||
|
Данный тип компиляции следует применять для всех критичных
|
|||
|
участков кода, где помимо противодействия взлому и анализу
|
|||
|
важна скорость работы. При использовании виртуализации
|
|||
|
степень защиты от взлома и анализа средняя, скорость
|
|||
|
исполнения кода средняя.</li>
|
|||
|
|
|||
|
<li><strong>Ультра (мутация + виртуализация).</strong>
|
|||
|
Исполняемый код видоизменяется на уровне команд процессора
|
|||
|
и уже после этого переводится в байт-код, исполняемый на
|
|||
|
виртуальной машине. Данный тип компиляции следует применять
|
|||
|
для всех участков кода, где не важна скорость работы.
|
|||
|
Степень защиты от взлома и анализа высокая, скорость
|
|||
|
исполнения кода низкая.</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<li id="LockToKey"><strong>Привязать к серийному номеру</strong> - при включении данной опции защищенная функция будет <a href="manager/features.htm#lock">недоступна без ввода валидного серийного номера</a>. Таким образом можно, например, ограничивать доступ к определенным функциям приложения в незарегистрированной версии.</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p id="Search"><strong>Поиск</strong></p>
|
|||
|
|
|||
|
<p>Необходимые объекты можно отыскать по их имени в универсальном быстром поиске:</p>
|
|||
|
<p><img src="images/project_functions_search.png" /></p>
|
|||
|
|
|||
|
<p>В строке поиска можно использовать стандартные символы подстановки:</p>
|
|||
|
<ul>
|
|||
|
<li><strong>*</strong> - заменяет группу символов произвольной длины;</li>
|
|||
|
<li><strong>?</strong> - заменяет любой одиночный символ.</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<h3 id="AddFolder">Добавление папки</h3>
|
|||
|
<p>Добавление папки осуществляется с помощью контекстного меню:</p>
|
|||
|
<p><img src="images/project_functions_menu.png" /></p>
|
|||
|
<p>Папки используются для группировки защищаемых объектов в
|
|||
|
дереве проекта, а также для группового изменения параметров
|
|||
|
защиты (включение в компиляцию, тип компиляции) для всех
|
|||
|
объектов из этой папки.</p>
|
|||
|
<p>Задайте имя новой папке:</p>
|
|||
|
<p><img src="images/project_add_folder.png" /></p>
|
|||
|
|
|||
|
<h3>Редактирование объектов</h3>
|
|||
|
<p>В правой части окна отображается содержимое выбранного
|
|||
|
объекта. Если в дереве проекта выбран защищаемый объект, то с
|
|||
|
правой стороны отображается дизассемблированное представление
|
|||
|
этого объекта:</p>
|
|||
|
|
|||
|
<p><img src="images/project_functions_content.png" alt=
|
|||
|
"Код" /></p>
|
|||
|
<p>Щелчок правой кнопкой мыши по строчке кода вызывает контекстное меню:</p>
|
|||
|
<p><img src="images/project_functions_menu3.png" /></p>
|
|||
|
<ul>
|
|||
|
<li><a name="ExtAddress" id="ExtAddress"><strong>Внешний
|
|||
|
адрес</strong></a> - включить выбранный адрес в список <a href=
|
|||
|
"project_options_external_addresses.htm">внешних адресов</a>;</li>
|
|||
|
|
|||
|
<li><strong>Конец функции</strong> - ограничить список
|
|||
|
команд, которые будут обработаны в процессе компиляции;</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p>Если в дереве проекта выбрана папка, то с правой стороны
|
|||
|
отображается список функций, входящих в эту папку:</p>
|
|||
|
|
|||
|
<p><img src="images/project_functions_content2.png" /></p>
|
|||
|
|
|||
|
<p>Перемещать функции из папки в папку можно простым
|
|||
|
перетаскиванием при помощи мыши.</p>
|
|||
|
|
|||
|
<br />
|
|||
|
<br />
|
|||
|
<br />
|
|||
|
<br />
|
|||
|
<hr noshade="noshade" size="1" />
|
|||
|
|
|||
|
<div align="center">
|
|||
|
© 2006-2015 Copyright VMProtect Software
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
</html>
|