Система парсинга переменных в двойных кавычках полностью обновлена. Ошибок в специфических ситуациях теперь нет. Кроме того, есть ещё несколько особенностей. Например, PHP UnReader можно запускать на обфускацию по URL т.е. можно, например, полностью автоматизировать процесс продажи обфусцированного скрипта - приём денег по WebMoney Merchant, запуск обфускатора на сервере, генерация письма с вложением - отправка продукта покупателю.
Для тех кто хотел проверить свои способности в деобфускации: ТЕСТ. Вот скрипт, обфусцированный [PHP UnReader]: http://www.pilotstudio.ru/download/index.zip - это основная часть многофайлового проекта. Задача: более или менее ПОДРОБНО изложить алгоритм. Кроме того, заметить сколько на это потребовалось времени.
А кто подскажет чем обсфуцирован этот скрипт.Хочу исправить ссылки,но какая-то функция не дает. Код (Text): <?php $url_home = 'http://home.ru/'; //Здесь впишите адрес страницы для выхода на основную $kz = 3000; // Здесь впишите желаемое число символов на странице (можете не менять) $sh = 20; // Здесь впишите желаемое число символов на строке (можете не менять) $dir = './book/'; print '<html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <title>Библиотека</title> <meta name="Книги, статьи, заметки" > <meta name="description" content="наука, история, рефераты"> <LINK REL=STYLESHEET TYPE="text/css" HREF="style.css"> </head><body> <hr>'; $a20b7d = 0; $ae2d99 = '<hr><div align="center"><font size=-3><a href="http://farexpo.ru/">PTS</a> <a href="http://bn.elec.ru/">info </a> <a href="http://www.rlbn.ru/">link</a></font></div>'; $a039cb = '<hr><div align="center"><font size=-3> <a href="http://ptsinfo.net">PTS</a> <a href="http://pribortehsnab.ru">info </a> <a href="http://nfilatova.ru">link</a> </font></div>'; $a99762 = '<hr>*<a href="' . $url_home . '">Выход</a>*'; $a47d55 = '">>>>далее>>></a>'; $a55319 = $a47d55 . $a039cb; $ab9aca = '42a80eb989ad4b00'; $ab37cb = '74a6041930c0fe3d'; $ae64ff = '42a80eb989ad4b00'; $a9f706 = '82659365ba8d0a68'; $a0ef10 = 'dbcba04cd0c66a18'; $a4a629 = 'dbcba04cd0c66a18'; $a4451a = '74a6041930c0fe3d'; $a9a04b = '82659365ba8d0a68'; $a53b9d = 0; $a8eacd = 500; $aa71a5 = 5; $a4bb65 = opendir($dir); while (false !== ($a09a33 = readdir($a4bb65))) { if (is_file("$dir/$a09a33")) { $a6b6e9[] = $a09a33; } } closedir($a4bb65); $ad0961 = md5($ae2d99); $ae2d99 = $ae64ff; $a15eba = $ab9aca . $a9a04b; $a2c702 = $a4a629 . $ab37cb; if (!isset($_GET['id'])) { foreach ($a6b6e9 as $a20fd6) { $a88def = file($dir . $a20fd6); $ac31e9 = md5($a039cb); if ($a15eba == $ac31e9) $a650d1 = $a88def; else $a88def = $a07306; $a07306 = 0; $ac6aed = trim($a88def[$a07306]); $a7eef1 .= '<p align="left"><a href="index.php?id=' . substr($a20fd6, 0, -4) . '">' . $ac6aed . '</a>'; } $a7eef1 .= $a99762 . $a039cb; } else { $id = $_GET['id']; $a4c5b7 = $dir . $_GET['id'] . '.txt'; $a235cd = md5($a55319); $aa43a5 = count($a4c5b7); $a3f243 = join('', file($a4c5b7)); $a9db9e = fopen("$a4c5b7", "r+") or die ("Ошибка\n"); $a78a4d = 0; $a1ad70 = 0; while (!feof($a9db9e)) { $aa6b14 = fread($a9db9e, 1); $a21454 = bin2hex($aa6b14); if ($a21454 == "0a") $a78a4d = $a78a4d + 1; $a1ad70 = $a1ad70 + 1; } $aa71a5 = $kz - $a78a4d / $a1ad70 * $kz * $sh; $aa71a5 = round($aa71a5); $a1c2eb = $a235cd; if ($a2c702 == $a1c2eb) $aaab16 = 100; else { $aaab16 = 99; $a53b9d = 100; } if (!in_array($id . '.txt', $a6b6e9)) { header("Location: index.php"); } else { if (!isset($_GET['p'])) $a2a039 = 1; else $a2a039 = $_GET['p']; $a09a33 = join('', file($a4c5b7)); $a3034e = $a2a039 * $aa71a5; $a90c20 = $a3034e - $aa71a5; $ab8d34 = $a3034e + 100; $a6f06c = $a53b9d * $a8eacd * 1000; $ab1d20 = 0; if (!isset($_GET['go'])) { for ($aa16d2 = $a3034e; $aa16d2 < $ab8d34; $aa16d2++) { $aba9c5 = bin2hex($a09a33[$aa16d2]); if ($aba9c5 == "20") $aa16d2 = $ab8d34; if ($aba9c5 <> "20") $a6f06c = $a6f06c + 1; } } $a90c20 = $a90c20 + $a6f06c; $a4b31e = $a90c20 - 100; $aa16d2 = 0; if (!isset($_GET['go'])) { for ($aa16d2 = $a90c20; $aa16d2 > $a4b31e; $aa16d2--) { $aba9c5 = bin2hex($a09a33[$aa16d2]); if ($aba9c5 == "20") $aa16d2 = $a4b31e; if ($aba9c5 <> "20") $ab1d20 = $ab1d20 - 1; } } $a3034e = $a3034e + $a6f06c; $a90c20 = $a90c20 + $ab1d20; $a6f06c = 0; echo "="; echo "$a2a039"; echo "="; echo "<br>"; if ($a90c20 < "0") $a90c20 = 0; $a19b21 = '0'; if (!isset($_GET['go'])) { for ($aa16d2 = $a90c20; $aa16d2 < $a3034e; $aa16d2++) { if (!isset($a09a33[$aa16d2])) { $a19b21 = '1'; } else { $a7eef1 .= $a09a33[$aa16d2]; if (urlencode($a09a33[$aa16d2]) == '%0A') { $a7eef1 .= '<br>'; $a7eef1 .= ' '; } } } $a7eef1 .= '<hr>'; if ($a2a039 == '1') $a7eef1 .= ''; else { $a7eef1 .= ' <a href="index.php?id=' . $id . '&p=' . ($a2a039 - 1) . '"><<<назад<<<</a>'; $a7eef1 .= ' '; } $a7eef1 .= ' * <a href="index.php?go=1&id=' . $id . '">переход на стр. 1-' . (ceil(strlen($a09a33) / $aa71a5)) . '</a>'; $a7eef1 .= ' * <a href="index.php">оглавление</a>*<a href="' . $url_home . '"> выход</a>'; if ($a19b21 == '1') $a7eef1 .= ''; else { $a7eef1 .= ' * <a href="index.php?id=' . $id . '&p=' . ($a2a039 + 1) . $a55319; } } else $a7eef1 .= ' <FORM ACTION="index.php?id=' . $id . '&p=' . ($a2a039) . '" method="get"> Ведите № стр. от 1 до ' . (ceil(strlen($a09a33) / $aa71a5)) . ' <input TYPE=hidden name="id" value="' . $id . '"/> <input name="p" format="*N" SIZE=3 maxlength="4" title="p"/> <INPUT TYPE=submit VALUE="Перейти"> <br/> </form> <a href="index.php">оглавление</a>'; } } function a8ab3b($a8409e) { $a1c4cd = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я'); $a8409e = str_replace('Ё', 'Ё', $a8409e); $a8409e = str_replace('ё', 'ё', $a8409e); $a8409e = str_replace('[', '<strong>', $a8409e); $a8409e = str_replace(']', '</strong>', $a8409e); $a8409e = str_replace('{', '<em>', $a8409e); $a8409e = str_replace('}', '</em>', $a8409e); $a8409e = str_replace('|', '<br>', $a8409e); for ($aa16d2 = 0; $aa16d2 < count($a1c4cd); $aa16d2++) { $a3cb9c = 1040; $a20fd6 = '&#' . ($a3cb9c + $aa16d2) . ';'; $a8409e = str_replace($a1c4cd[$aa16d2], $a20fd6, $a8409e); } return $a8409e; } if ($a20b7d == 0) echo $a7eef1; else echo a8ab3b($a7eef1); echo '<p align="left"> </p> </body> </html>'; ?>