Введение
1 Актуальные задачи защиты исполняемого программного кода от динамического и статического анализа и постановка задачи исследования 6
1.1 Проблема защиты исполняемого программного кода от анализа в средах с неограниченным доступом к исполняемому коду 6
1.2 Анализ современных подходов и технологий защиты программного кода 7
1.3 Недостатки существующих существующих подходов и средств защиты и постановка задачи исследования 10
2 Метод защиты исполняемого кода от динамического и статического анализа на основе многоуровневых запутывающих преобразований 17
2.1 Модель угроз динамического и статического анализа исполняемого кода 17
2.2 Виртуализация кода процессором с псевдослучайным набором инструкций 18
2.3 Использование сетей Петри для обфускации двоичного кода алгоритма 54
3 Средства защиты исполняемого кода от динамического анализа с использованием платформенно зависимых подходов 68
3.1 Средства противодействия статическому анализу исполняемого кода 68
3.2 Средства противодействия динамическому анализу исполняемого кода 98
3.3 Способы достижения стойкой обфускации 100
4 Анализ эффективности разработанных средств защиты программного кода исполняемого на платформе х86 102
4.1 Результаты защиты при помощи виртуального процессора 102
4.2 Результаты защиты при помощи сети Петри и анализ производительности защищенного кода 109
4.3 Структура инструментального средства защиты программного кода 114
Заключение 128
Список литературы 128


