Морфинг кода
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2021 г. ) |
Морфинг кода — это подход, используемый для запутывания программного обеспечения для защиты программных приложений от обратного проектирования , анализа , модификаций и взлома. Эта технология защищает код промежуточного уровня, например, скомпилированный с языков Java и .NET ( Oxygene , C# , Visual Basic и т. д.), а не двоичный объектный код . Морфинг кода разбивает защищенный код на несколько команд процессора или небольших фрагментов команд и заменяет их другими, сохраняя при этом тот же конечный результат. Таким образом, протектор запутывает код на промежуточном уровне. [1]
Морфинг кода — это многоуровневая технология, содержащая сотни уникальных шаблонов преобразования кода. Кроме того, эта технология преобразует некоторые команды промежуточного уровня в виртуальной машины команды (например, p-code ). Морфинг кода не защищает от трассировки во время выполнения, которая может выявить логику выполнения любого защищенного кода.
не существует концепции расшифровки В отличие от других средств защиты кода, при использовании этого метода кода. Блоки защищенного кода всегда находятся в исполняемом состоянии и выполняются (интерпретируются) как преобразованный код. Исходный промежуточный код в определенной степени отсутствует, но деобфускация все же может дать четкое представление об исходном потоке кода.
Морфинг кода также используется для обозначения технологии своевременной компиляции, используемой в процессорах Transmeta , таких как Crusoe и Efficeon, для реализации архитектуры набора команд x86 .
Морфирование кода часто используется для запутывания защиты от копирования или других проверок, которые программа выполняет, чтобы определить, является ли это действительной, подлинной установкой или несанкционированной копией , чтобы затруднить удаление кода защиты от копирования, чем в противном случае. быть так.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Программное обеспечение Transmeta Code Morphing™: использование предположений, восстановления и адаптивной ретрансляции для решения реальных задач» . CGO '03: Материалы международного симпозиума по генерации и оптимизации кода: оптимизация на основе обратной связи и во время выполнения - через ACM.