Для Native программ:
- Обфускация — это комплекс технологий запутывания кода защищаемого приложения. В результате его применения программа сохраняет свою функциональность в полном объёме, однако программный код становится настолько сложным, что его практически невозможно проанализировать.
- Мутация кода — это метод обфускации, при котором исходный граф потока управления дополняется мусорными инструкциями, ветвлениями, циклами и даже дополнительной логикой. В результате такого смешения становится сложно определить, чем отличается анализируемый участок кода — оригинальной программой или пустышкой.
- Виртуализация кода — это метод обфускации, при котором исходный машинный код приложения транслируется в инструкции уникальной виртуальной машины, сгенерированной в процессе защиты приложения. Эти инструкции интерпретируются непосредственно в момент выполнения программы.
Особенностью данной технологии является то, что при защите одного и того же приложения каждый раз генерируются новые инструкции с разной логикой набора команд. И выполнены они могут быть на той виртуальной машине, для которой были сгенерированы.
Виртуализация обеспечивает отсутствие постоянных сигнатур в программном коде, противодействие попыткам внедрения, контроль целостности и т. д. - Конверт — это упаковка и шифрование секций защищаемого файла. В процессе запуска защищенного приложения специальный загрузчик распаковывает и расшифровывает файл прежде чем управление будет передано оригинальной точке входа. Приложение шифруется симметричным криптографическим алгоритмом, ключ к которому, как правильно, хранится во внешнем компоненте защиты (аппаратном или программном ключе).
- Профилирование — это статический и динамический анализ приложения, в результате которого определяется оптимальный перечень защищаемых функций.