Contents

Виртуализация кода



Виртуализация кода является самой современной технологией усложнения и запутывания кода, что существенно повышает стойкость программы к анализу и взлому.

Как и в случае мутации - код разделяется на отдельные команды. Но каждая машинная команда меняется не на набор аналогичных машинных, а на псевдокод, описывающий ее для интерпретатора защиты. Затем ссылка на обработанный код передается в функцию исполнения, которая интерпретирует псевдокод и исполняет его командами процессора.

Сложность анализа такого кода заключается в том, что псевдокод уникален для защиты и нигде не документирован. Для взломщика анализ такого кода сравним с изучением дополнительного языка программирования. Это существенно увеличивает время анализа кода. Поэтому защита посредством виртуализации является наиболее стойкой.