Обфускация кода на практике работает следующим образом: исходный код приложения приводится к виду, сохраняющему функциональные возможности, но затрудняющему анализ, понимание алгоритмов работы и дальнейшую модификацию после декомпиляции. 2
В процессе обфускации определённые части кода шифруются, метаданные удаляются, а осмысленные элементы заменяются бессмысленными. 1 Также распространённой практикой является вставка неиспользуемого или даже мусорного кода для маскировки реального содержимого. 1
Специальные программы-обфускаторы могут автоматизировать эти процессы и в два клика изменить исходный код так, чтобы он по-прежнему работал, но стал гораздо труднее для восприятия и понимания. 1
Другие методы обфускации включают сжатие всей программы, что делает код нечитаемым, а также изменение потока управления для создания неструктурированной, сложной в обслуживании логики. 1
Зачастую при обфускации используется комбинация из сразу нескольких техник для достижения многоуровневого эффекта и повышения безопасности кода. 1