Аннотация:
Предложен новый подход к обфускации программного кода с использованием переключения режимов x86. Рассмотрены детали и существующие применения переключения режимов x86, а также возможные последствия его использования для инструментов реверс-инжиниринга. На основе этого подхода предложено несколько методов, проверенных против различных наиболее популярных инструментов реверс-инжиниринга, включая дизассемблеры, декомпиляторы, инструменты бинарной инструментации и символьного исполнения. Предложен метод бесшовной интеграции обфускаций на уровне машинного кода в компиляторы C, C++ и, возможно, других языков.