Да, возможно разобрать репозиторий байт-кода HHVM и восстановить что-то близкое исходному источнику. Хотя HHVM не предоставляет никаких инструментов для этого в настоящее время, байт-код HipHop (HHBC) довольно близок к исходному источнику и содержит богатые метаданные, включающие имена локальных переменных, имена функций и т. Д. В этом отношении HHBC имеет некоторое сходство с байт-кодом Java или .NET IL.
Возможно, возможно удалить некоторые из этих метаданных, но многие из них необходимы для обработки таких вещей, как «$ f (..)», «call_user_func (..)», «class_exists (..)», , и «$$ x», не говоря уже о API-интерфейсе отражения (ReflectionClass, ReflectionFunction и т. д.).
Возможно, вы захотите попробовать один из многих PHP-> PHP-обфускаторов (отказ от ответственности: я не пробовал ни один из этих обфускаторов). Некоторые из лучших PHP-> PHP-обфускаторов пытаются определить, использует ли ваш код имя функции или имя класса в «динамическом» виде, и старайтесь избегать переименования этих классов или функций, но я бы предположил, что могут быть некоторые угловые случаи, когда эти эвристика не работает, и требуется некоторая ручная настройка или настройка.
Кроме того, в зависимости от ситуации, возможно, вам удастся использовать разрешения файловой системы для решения вашей проблемы (т. Е. Запретить постоянным пользователям на вашем сервере возможность доступа к репозиторию байт-кода), хотя похоже, что это может быть вне вашего контроля за вашим прецедентом.
Благодарим вас за точный ответ и за ваши предложения - приятно получить технический ответ от коммиттера! Я подумаю о моих вариантах. – mappu