Для Native программ:

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


  • No labels