mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2024-12-26 16:29:34 +03:00
5ec92ee05e
Version 3.x.x
108 lines
7.9 KiB
HTML
108 lines
7.9 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">
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<h1>Словарь терминов</h1>
|
||
|
||
<p>Эффективное использование любого инструмента невозможно без
|
||
понимания терминологии, специфичной для соответствующей
|
||
предметной области. В данном глоссарии дана расшифровка
|
||
терминологии, применяемой в разрезе использования программы
|
||
VMProtect. Глоссарий не претендует на универсальность и
|
||
всеохватность, предложенное в нем толкование терминов может
|
||
отличаться от классического.</p>
|
||
|
||
<p><a name="ByteCode" id="ByteCode"><strong>Байт-код</strong></a> - код, полученный после
|
||
преобразования машинных команд реального процессора в команды
|
||
виртуальной машины.</p>
|
||
|
||
<p><a name="Virtualization" id="Virtualization"><strong>Виртуализация</strong></a> - процесс преобразования части
|
||
исполняемого кода приложения в команды виртуальной машины,
|
||
обладающей неизвестной потенциальному взломщику системой команд,
|
||
архитектурой и логикой работы. Виртуализированные участки кода
|
||
выполняются интерпретатором (исполнителем виртуальной машины) без
|
||
предварительного преобразования в машинные коды процессора. В
|
||
общем случае задача реинжиниринга виртуализированных фрагментов
|
||
сводится к изучению архитектуры виртуальной машины, созданию
|
||
дизассемблера, соответствующего архитектуре имитируемого
|
||
виртуальной машиной процессора, и анализу дизассемблированного
|
||
кода.</p>
|
||
|
||
<p><a name="VirtualMachine" id="VirtualMachine"><strong>Виртуальная машина</strong></a> - программный код,
|
||
непосредственно выполняющий байт-код в защищенной программе.</p>
|
||
|
||
<p><a name="Watermarks" id="Watermarks"><strong>Водяные
|
||
знаки</strong></a> - уникальный для каждого пользователя массив
|
||
байт, позволяющий однозначно идентифицировать легального
|
||
владельца взломанной копии программы.</p>
|
||
|
||
<p><a name="Mutation" id="Mutation"><strong>Мутация</strong></a> - замена исходной команды аналогом
|
||
или определенной последовательностью команд, обеспечивающей тот
|
||
же результат, что и исходная команда.</p>
|
||
|
||
<p><a name="Obfuscation" id="Obfuscation"><strong>Обфускация</strong></a> - совокупность методик и средств,
|
||
направленных на затруднение анализа программного кода. В
|
||
зависимости от языка программирования, на котором написана
|
||
защищаемая программа, используются различные типы
|
||
программ-обфускаторов. При обфускации приложений, написанных на
|
||
интерпретируемых языках (Perl, PHP и др.), изменения вносятся в
|
||
исходные тексты: удаляются комментарии, переменным присваиваются
|
||
бессмысленные имена, выполняется шифрация строковых констант и
|
||
т.д. При обфускации программ, написанных на Java / .NET,
|
||
выполняют преобразования байт-кода, обрабатываемого виртуальной
|
||
машиной. При обфускации скомпилированных программ модифицируют
|
||
машинный код: в него вносятся "мусорные" команды, "мертвый код",
|
||
случайные переходы, выполняется мутация исходных команд, часть
|
||
операций переносится в стек, а также выполняются различные
|
||
структурные (реже математические) преобразования. При
|
||
реинжиниринге обфусцированых участков кода их пытаются привести в
|
||
исходный вид, что при определенном подходе к обфускации
|
||
становится очень трудоемкой задачей.</p>
|
||
|
||
<p><a name="Protector" id="Protector"><strong>Программа-протектор</strong></a> - программа,
|
||
предназначенная для защиты других программных продуктов от
|
||
взлома. Подавляющее большинство современных протекторов не
|
||
модифицируют исходный код приложения, а выполняют его
|
||
упаковку/шифрацию, при этом основной упор сделан на защиту
|
||
программы (процедуры) распаковки/расшифровки.</p>
|
||
|
||
<p><a name="EntryPoint" id="EntryPoint"><strong>Точка входа в
|
||
программу (EntryPoint)</strong></a> - представляет собой
|
||
начальный адрес, с которого начинается исполнение загруженной в память программы.</p>
|
||
|
||
<p><a name="Pack" id="Pack"><strong>Упаковка</strong></a> - метод
|
||
защиты кода приложения, при котором производится сжатие
|
||
исполняемого файла программы и/или используемых библиотек с
|
||
помощью нестандартных алгоритмов. При использовании упаковки
|
||
защищаемый программный код сжимается упаковщиком, а при запуске
|
||
приложения у конечного пользователя производится его полная или
|
||
частичная распаковка.</p>
|
||
|
||
<p><a name="Crypt" id="Crypt"><strong>Шифрация</strong></a> - защита части кода приложения с
|
||
помощью криптостойких алгоритмов. Программное обеспечение,
|
||
защищенное с помощью шифрации, требует от конечного пользователя
|
||
ввода кода активации, который снимает установленные разработчиком
|
||
ограничения незарегистрированной версии.</p><br />
|
||
<br />
|
||
<br />
|
||
<br />
|
||
<br />
|
||
<hr noshade="noshade" size="1" />
|
||
|
||
<div align="center">
|
||
© 2006-2015 Copyright VMProtect Software
|
||
</div>
|
||
</body>
|
||
</html>
|