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