Простейший обфускатор php-кода
Недавно рылся у себя в архивах и нашёл давнишнюю свою поделку
– php-обфускатор. Скрипт очень простенький, буквально в пару строк, может и кому пригодится.
Буквально, в двух словах, объясню принцип работы php-обфускатора:
1. Зашифровку производит конструкция вида:
$encoded = base64_encode(gzdeflate(stripslashes($source_string),9));
которая удаляет экранирующие бэкслэши, сжимает строку и кодирует её в base64. Кстати, не проверял, но думаю, что предварительное сжатие компенсирует, примерно 33%-ое увеличение при base64-кодировании.
2. Расшифровка производится в обратной последовательности:
<?php eval(gzinflate(base64_decode('s7ezsS/IKFAA4sy8tHwNTWsFe6AQAA=='))); ?>
т.е. сначала строка декодируется, распаковывается и исполняется, как PHP-код, командой eval
Скачать обфускатор (в кодировке UTF-8) или сразу проверить скрипт обфускатора в деле


12 Апр 2010 в 05:25
Спасиба, классная штука!!!
12 Апр 2010 в 05:40
У меня не получмлось на компе у себя открыть….
его надо с запущенным денвером открывать?
12 Апр 2010 в 15:38
можно и на денвере )
05 Авг 2010 в 13:46
спасибо..класс! а как его на хост поставить чтоб работал как у вас в примере..и можно ли его как то усложнить чтоб не простейший был)а то больно уж легко декодируется…
05 Авг 2010 в 14:08
алекс: Чтобы установить обфускатор, в таком же виде, как в примере, достаточно скачать архив (в конце статьи), распаковать его, и закинуть файл phpencoder.php в любое удобное Вам место на сервере или виртуальном хостинге, на котором есть php (ну или на денвере)
Усложнить, конечно, можно, но лень
Впрочем, в сети лежит много гораздо более сложных обфускаторов php-кода, думаю Вам будет из чего выбрать.