VMProtect/help/ru/project_functions.htm
VNGhostMans 5ec92ee05e first commit
Version 3.x.x
2023-05-14 20:21:09 +07:00

135 lines
9.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>