За последние 24 часа нас посетили 17673 программиста и 1712 роботов. Сейчас ищут 1827 программистов ...

PHP UnReader - Обфускатор PHP-кода

Тема в разделе "PHP продажа/покупка", создана пользователем V.Terentev, 18 янв 2008.

  1. V.Terentev

    V.Terentev Активный пользователь

    С нами с:
    18 янв 2008
    Сообщения:
    9
    Симпатии:
    0
    Адрес:
    Волгоград
    Система парсинга переменных в двойных кавычках полностью обновлена. Ошибок в специфических ситуациях теперь нет.

    Кроме того, есть ещё несколько особенностей. Например, PHP UnReader можно запускать на обфускацию по URL т.е. можно, например, полностью автоматизировать процесс продажи обфусцированного скрипта - приём денег по WebMoney Merchant, запуск обфускатора на сервере, генерация письма с вложением - отправка продукта покупателю.
     
  2. V.Terentev

    V.Terentev Активный пользователь

    С нами с:
    18 янв 2008
    Сообщения:
    9
    Симпатии:
    0
    Адрес:
    Волгоград
    Для тех кто хотел проверить свои способности в деобфускации: ТЕСТ. Вот скрипт, обфусцированный [PHP UnReader]: http://www.pilotstudio.ru/download/index.zip - это основная часть многофайлового проекта. Задача: более или менее ПОДРОБНО изложить алгоритм. Кроме того, заметить сколько на это потребовалось времени.
     
  3. Jason Bourne

    Jason Bourne Активный пользователь

    С нами с:
    21 дек 2006
    Сообщения:
    2
    Симпатии:
    0
    А призы за решение будут?
     
  4. kalakaio

    kalakaio Активный пользователь

    С нами с:
    30 авг 2011
    Сообщения:
    1
    Симпатии:
    0
    А кто подскажет чем обсфуцирован этот скрипт.Хочу исправить ссылки,но какая-то функция не дает.
    Код (Text):
    1.  
    2. <?php
    3. $url_home = 'http://home.ru/'; //Здесь впишите адрес страницы для выхода на основную
    4. $kz = 3000; // Здесь впишите желаемое число символов на странице (можете не менять)
    5. $sh = 20; // Здесь впишите желаемое число символов на строке (можете не менять)
    6. $dir = './book/';
    7. print '<html>
    8. <head>
    9. <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    10. <title>Библиотека</title>
    11. <meta name="Книги, статьи, заметки" >
    12. <meta name="description"
    13. content="наука, история, рефераты">
    14. <LINK REL=STYLESHEET TYPE="text/css" HREF="style.css">
    15. </head><body>
    16. <hr>';
    17. $a20b7d = 0;
    18. $ae2d99 = '<hr><div align="center"><font size=-3><a href="http://farexpo.ru/">PTS</a>
    19. <a href="http://bn.elec.ru/">info </a>
    20. <a href="http://www.rlbn.ru/">link</a></font></div>';
    21. $a039cb = '<hr><div align="center"><font size=-3>
    22. <a href="http://ptsinfo.net">PTS</a>
    23. <a href="http://pribortehsnab.ru">info </a>
    24. <a href="http://nfilatova.ru">link</a>
    25. </font></div>';
    26. $a99762 = '<hr>*<a href="' . $url_home . '">Выход</a>*';
    27. $a47d55 = '">>>>далее>>></a>';
    28. $a55319 = $a47d55 . $a039cb;
    29. $ab9aca = '42a80eb989ad4b00';
    30. $ab37cb = '74a6041930c0fe3d';
    31. $ae64ff = '42a80eb989ad4b00';
    32. $a9f706 = '82659365ba8d0a68';
    33. $a0ef10 = 'dbcba04cd0c66a18';
    34. $a4a629 = 'dbcba04cd0c66a18';
    35. $a4451a = '74a6041930c0fe3d';
    36. $a9a04b = '82659365ba8d0a68';
    37. $a53b9d = 0;
    38. $a8eacd = 500;
    39. $aa71a5 = 5;
    40. $a4bb65 = opendir($dir);
    41. while (false !== ($a09a33 = readdir($a4bb65))) {
    42.     if (is_file("$dir/$a09a33")) {
    43.         $a6b6e9[] = $a09a33;
    44.     }
    45. }
    46. closedir($a4bb65);
    47. $ad0961 = md5($ae2d99);
    48. $ae2d99 = $ae64ff;
    49. $a15eba = $ab9aca . $a9a04b;
    50. $a2c702 = $a4a629 . $ab37cb;
    51. if (!isset($_GET['id'])) {
    52.     foreach ($a6b6e9 as $a20fd6) {
    53.         $a88def = file($dir . $a20fd6);
    54.         $ac31e9 = md5($a039cb);
    55.         if ($a15eba == $ac31e9)
    56.             $a650d1 = $a88def; else $a88def = $a07306;
    57.         $a07306 = 0;
    58.         $ac6aed = trim($a88def[$a07306]);
    59.         $a7eef1 .= '<p align="left"><a href="index.php?id=' . substr($a20fd6, 0, -4) . '">' . $ac6aed . '</a>';
    60.     }
    61.     $a7eef1 .= $a99762 . $a039cb;
    62. }
    63. else {
    64.     $id = $_GET['id'];
    65.     $a4c5b7 = $dir . $_GET['id'] . '.txt';
    66.     $a235cd = md5($a55319);
    67.     $aa43a5 = count($a4c5b7);
    68.     $a3f243 = join('', file($a4c5b7));
    69.     $a9db9e = fopen("$a4c5b7", "r+") or die ("Ошибка\n");
    70.     $a78a4d = 0;
    71.     $a1ad70 = 0;
    72.     while (!feof($a9db9e)) {
    73.         $aa6b14 = fread($a9db9e, 1);
    74.         $a21454 = bin2hex($aa6b14);
    75.         if ($a21454 == "0a")
    76.             $a78a4d = $a78a4d + 1;
    77.         $a1ad70 = $a1ad70 + 1;
    78.     }
    79.     $aa71a5 = $kz - $a78a4d / $a1ad70 * $kz * $sh;
    80.     $aa71a5 = round($aa71a5);
    81.     $a1c2eb = $a235cd;
    82.     if ($a2c702 == $a1c2eb)
    83.         $aaab16 = 100; else {
    84.         $aaab16 = 99;
    85.         $a53b9d = 100;
    86.     }
    87.     if (!in_array($id . '.txt', $a6b6e9)) {
    88.         header("Location: index.php");
    89.     }
    90.     else {
    91.         if (!isset($_GET['p']))
    92.             $a2a039 = 1;
    93.         else $a2a039 = $_GET['p'];
    94.         $a09a33 = join('', file($a4c5b7));
    95.         $a3034e = $a2a039 * $aa71a5;
    96.         $a90c20 = $a3034e - $aa71a5;
    97.         $ab8d34 = $a3034e + 100;
    98.         $a6f06c = $a53b9d * $a8eacd * 1000;
    99.         $ab1d20 = 0;
    100.         if (!isset($_GET['go'])) {
    101.             for ($aa16d2 = $a3034e; $aa16d2 < $ab8d34; $aa16d2++) {
    102.                 $aba9c5 = bin2hex($a09a33[$aa16d2]);
    103.                 if ($aba9c5 == "20")
    104.                     $aa16d2 = $ab8d34;
    105.                 if ($aba9c5 <> "20")
    106.                     $a6f06c = $a6f06c + 1;
    107.             }
    108.         }
    109.         $a90c20 = $a90c20 + $a6f06c;
    110.         $a4b31e = $a90c20 - 100;
    111.         $aa16d2 = 0;
    112.         if (!isset($_GET['go'])) {
    113.             for ($aa16d2 = $a90c20; $aa16d2 > $a4b31e; $aa16d2--) {
    114.                 $aba9c5 = bin2hex($a09a33[$aa16d2]);
    115.                 if ($aba9c5 == "20")
    116.                     $aa16d2 = $a4b31e;
    117.                 if ($aba9c5 <> "20")
    118.                     $ab1d20 = $ab1d20 - 1;
    119.             }
    120.         }
    121.         $a3034e = $a3034e + $a6f06c;
    122.         $a90c20 = $a90c20 + $ab1d20;
    123.         $a6f06c = 0;
    124.         echo "=";
    125.         echo "$a2a039";
    126.         echo "=";
    127.         echo "<br>";
    128.         if ($a90c20 < "0")
    129.             $a90c20 = 0;
    130.         $a19b21 = '0';
    131.         if (!isset($_GET['go'])) {
    132.             for ($aa16d2 = $a90c20; $aa16d2 < $a3034e; $aa16d2++) {
    133.                 if (!isset($a09a33[$aa16d2])) {
    134.                     $a19b21 = '1';
    135.                 }
    136.                 else {
    137.                     $a7eef1 .= $a09a33[$aa16d2];
    138.                     if (urlencode($a09a33[$aa16d2]) == '%0A') {
    139.                         $a7eef1 .= '<br>';
    140.                         $a7eef1 .= '&nbsp;&nbsp;';
    141.                     }
    142.                 }
    143.             }
    144.             $a7eef1 .= '<hr>';
    145.             if ($a2a039 == '1')
    146.                 $a7eef1 .= '';
    147.             else {
    148.                 $a7eef1 .= ' <a href="index.php?id=' . $id . '&amp;p=' . ($a2a039 - 1) . '"><<<назад<<<</a>';
    149.                 $a7eef1 .= ' ';
    150.             }
    151.             $a7eef1 .= ' * <a href="index.php?go=1&amp;id=' . $id . '">переход на стр. 1-' . (ceil(strlen($a09a33) / $aa71a5)) . '</a>';
    152.             $a7eef1 .= ' * <a href="index.php">оглавление</a>*<a href="' . $url_home . '"> выход</a>';
    153.             if ($a19b21 == '1')
    154.                 $a7eef1 .= '';
    155.             else {
    156.                 $a7eef1 .= ' * <a href="index.php?id=' . $id . '&amp;p=' . ($a2a039 + 1) . $a55319;
    157.             }
    158.         }
    159.         else $a7eef1 .= ' <FORM ACTION="index.php?id=' . $id . '&amp;p=' . ($a2a039) . '" method="get"> Ведите № стр. от 1 до ' . (ceil(strlen($a09a33) / $aa71a5)) .
    160.                         ' <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>';
    161.     }
    162. }
    163. function a8ab3b($a8409e)
    164. {
    165.     $a1c4cd = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
    166.     $a8409e = str_replace('Ё', 'Ё', $a8409e);
    167.     $a8409e = str_replace('ё', 'ё', $a8409e);
    168.     $a8409e = str_replace('[', '<strong>', $a8409e);
    169.     $a8409e = str_replace(']', '</strong>', $a8409e);
    170.     $a8409e = str_replace('{', '<em>', $a8409e);
    171.     $a8409e = str_replace('}', '</em>', $a8409e);
    172.     $a8409e = str_replace('|', '<br>', $a8409e);
    173.     for ($aa16d2 = 0; $aa16d2 < count($a1c4cd); $aa16d2++) {
    174.         $a3cb9c = 1040;
    175.         $a20fd6 = '&#' . ($a3cb9c + $aa16d2) . ';';
    176.         $a8409e = str_replace($a1c4cd[$aa16d2], $a20fd6, $a8409e);
    177.     }
    178.     return $a8409e;
    179. }
    180.  
    181. if ($a20b7d == 0)
    182.     echo $a7eef1;
    183. else echo a8ab3b($a7eef1);
    184. echo '<p align="left"> </p> </body> </html>'; ?>