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

108 lines
7.9 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">
</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>