В результирующем коде подменяются имена классов, констант, функций, методов, переменных. Создаются "мусорные" операции. Производится обфускация данных. Удаляются комментарии и пробелы.
Обфускатор работает с кодом как с проектом целиком. То есть сначала парсит файл или папку, заданную в конфиге параметром path, затем генерирует аналогичную файловую структуру в папке, заданной параметром result_dir.
Скрипт отслеживает пути между файлами и сам подключает задействованные классы, так как __autoload не сработает из-за измененных имен классов.
Есть 4 режима генерации имен.