Скрытие PHP-кода. Самопальный MiniZend

Категория: PHP , Чей-то софт Комментариев: 5

Простой метод сокрытия PHP-кода. От знатоков PHP, конечно, ничего не скроет, но новичкам усложнит жизнь — это точно.
Для создания своего минизенда будем использовать следующие функции PHP:
base64_encode("string"); // кодирует строку с помощью системы кодирования MIME base64.
base64_decode("string"); // обратное раскодирование из base64.
gzdeflate("string"); // "сплющивание" строки.
gzinflate("string"); // "распрямление" "сплющиванной" строки.
eval("string"); //выполненbt строки как PHP-кода.

Прятать код мы будем следующим образом:
Создадим шифрующий скрипт следующего содержания:
<?
echo gzdeflate(base64_encode('string'));
?>

Здесь base64_encode () закодирует нашу строку, а gzdeflate () сожмет ее чтобы зашифрованный скрипт не получился огромного размера.

Далее откроем скрипт, код которого мы хотим скрыть, вырежем конструкцию, котрую мы хотим скрыть (или весь скрипт), и вставим ее вместо «string» шифрующего скрипта (не забыв заэскейпить все апострофы!). Например, мы хотим зашифровать конструкцию:
for ($i=0; $i<5; $i++){
echo 'Hello World!';
}

Копируем этот кусок кода в шифрующий скрипт (не забыв заэскейпить апострофы, т.е. поставить перед ними знак ):
<?
echo gzdeflate(base64_encode('
for ($i=0; $i<5; $i++){
echo 'Hello World!';
}
'));
?>

И запустим его. Если Вы ни наделали синтаксических ошибок, то он нам выдаст какую-то белиберду, типа такой:

????tN?N
1 (??t???`:???;?????1??=,+??"?? #'????-?,9?"?38??9 (??d

Это и есть наш зашифрованный скрипт.

Теперь надо вставить этот зашифрованный фрагмент в Ваш скрипт.
Для этого в то место скрипта, которое мы зашифровали вставляем следующий код:
eval(gzinflate(base64_decode('string');
Вместо string подставляем белиберду, которую нам выдал скрипт-шифровальщик. В нашем примере получится так:
eval(gzinflate(base64_decode('????tN?N
1(??t???`:???;?????1??=,+??"?? #'????-?,9?"?38??9(??d');

Все! Можно спокойно использовать скрипт.
Кстати, эта кодирующая/раскодирующая конструкция будет работать абсолютно на любых хостингах, в т.ч. и на бесплатных.

Автор: Кто-то   @   10 сентября 2008 Комментариев: 5
Метки : , ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 5

Комментарии
Апр 26, 2009
18:49
#1 Kursor :

эт уж совсем от ламеров

Апр 28, 2010
12:58
#2 Master :

Объясните пожалуйста, в чем разница одинаковых значений и не ошибка ли это в написании:

gzdeflate («string»); // «сплющивание» строки.

gzdeflate («string»); // «распрямление» «сплющиванной» строки.

Автор Апр 28, 2010
18:53

Да, спасибо за подсказку! Это опечатка.

Во втором случае — gzinflate ()

Апр 28, 2010
22:01
#4 Master :

Вот это уже другое дело!!! :!:

Как говорил М.Жванецкий: «...Тщательней надо, ребята!»

Проверяйте пожалуйста все записи перед публикацией, чтобы не было потом... мучительно больно... за свою оплошность... (шутка!)

Спасибо за оперативное реагирование! :lol:

Сен 21, 2010
14:23
#5 Ромыч :

Спасибо! Мне не скрыть надо было, а раскрыть. Как раз по такому методу.

оставить комментарий

Предыдущая запись
«
Следующая запись
»