Метод мутации кода и виртуализации в защите ПО отличаются по принципу работы:
- Мутация кода предполагает одно- или многократные преобразования существующих инструкций в другие, аналогичные по функциональности. 15 В процессе мутации в код приложения добавляются «мусорные» команды, случайные условные и безусловные переходы. 1
- Виртуализация кода заключается в преобразовании инструкций кода защищаемого приложения в инструкции абстрактной виртуальной машины с неизвестной системой команд, архитектурой и логикой работы. 1 Виртуализованные участки кода выполняются интерпретатором без предварительного преобразования в инструкции процессора. 1
Таким образом, мутация кода направлена на преобразование существующего кода, а виртуализация — на преобразование его в код абстрактной виртуальной машины, что усложняет анализ и повышает стойкость программы к взлому 245.