Морфинг кода - Code morphing - Wikipedia

Морфинг кода это подход, используемый в программное обеспечение для обфускации защищать программного обеспечения заявки от разобрать механизм с целью понять, как это работает, анализ, модификации и взлом. Эта технология защищает код промежуточного уровня, например, скомпилированный из языков Java и .NET (Кислород, C #, Visual Basic и т. д.), а не двоичный объектный код. Морфинг кода разбивает защищенный код на несколько команд процессора или небольшие фрагменты команд и заменяет их другими, сохраняя при этом тот же конечный результат. Таким образом, протектор запутывает код на промежуточном уровне.[1]

Морфинг кода - это многоуровневая технология, содержащая сотни уникальных шаблонов преобразования кода. Кроме того, эта технология преобразует некоторые команды промежуточного уровня в виртуальная машина команды (например, p-код ). Морфинг кода не защищает от трассировки времени выполнения, которая может выявить логику выполнения любого защищенного кода.

В отличие от других средств защиты кода, здесь нет понятия кода. расшифровка этим методом. Блоки защищенного кода всегда находятся в исполняемом состоянии и выполняются (интерпретируются) как преобразованный код. Исходный промежуточный код в определенной степени отсутствует, но деобфускация все же может дать четкое представление о потоке исходного кода.

Морфинг кода также используется для обозначения своевременная компиляция технология, используемая в Transmeta процессоры, такие как Крузо и Efficeon реализовать x86 архитектура набора команд.

Морфинг кода часто используется для обфускации защита от копирования или другие проверки, которые программа выполняет, чтобы определить, является ли это действительной, подлинной установкой или несанкционированная копия, чтобы сделать удаление кода защиты от копирования более трудным, чем в противном случае.

Смотрите также

Рекомендации

  1. ^ «Программное обеспечение Transmeta Code Morphing ™: использование предположений, восстановления и адаптивного ретрансляции для решения реальных проблем». CGO '03: Труды международного симпозиума по генерации и оптимизации кода: оптимизация с учетом обратной связи и времени выполнения - через ACM.