Обфускация
Обфускация это действие, производимое с целью сбить с толку, запутать; в узком смысле понимается как приведение кода или исходника программы к такому виду, который полностью сохраняет их работоспособность, но серьезно усложняет понимание и анализ алгоритмов работы.
Цели обфускации
- Показать возможности языка, своеобразно подчеркнуть квалифицированность специалиста.
- Оптимизировать программу специально для ускорения работы и уменьшения размера кода.
- Усложнить отладку и изучение вредоносного ПО.
- Усложнить декомпиляцию проприетарного ПО.
- Скрыть авторство и нарушить авторские права программиста.
Ранее данный метод применялся в поисковой оптимизации и служил для запутывания ботов, но на данный момент это уже не актуально.
Применяемые технологии
- На уровне машинного кода. Применяется к некоторым участкам программы, которые не критичны к скорости, но значимы в функционировании системы безопасности. Чтобы запутать машинный код, достаточно вставить в него какие-либо бессмысленные конструкции.
- На уровне исходных текстов. Хуже читаемым код можно сделать с помощью форматирования, а также замены имен.
- На уровне промежуточного кода.