Посмотрите на http://www.ideone.com/vaAXz для демонстрации того, что здесь происходит.
В основном, использование base64_encode
, str_rot13
и gzdeflate
преобразуют вашу строку в обфусцированную строку, которая затем обфускацируется, пропуская ее через обратные функции в обратном порядке (gzinflate
, str_rot13
снова (все, что он делает, это * вращает строку на 13 мест, поэтому a <-> n, b <-> o и т. д.) и base64_decode
).Затем необъяснимый код запускается через eval, чтобы его можно было выполнить.
Это не особенно хороший способ достижения "безопасного" кода, если вы к этому стремитесь, потому что, предоставляя шагичтобы деобфусцировать ваш код, вы по своей природе позволяете любому, имеющему доступ к коду, преобразовывать его обратно в открытый текст.Как правило, обфускаторы кода делают ваш код нечитаемым, заменяя значимые имена переменных такими вещами, как $a
, $b
и т. Д., А также удаляя комментарии, пробелы и любые другие удобства, которые мы обычно используем для обеспечения читабельности кода.