Раскодировать PHP скрипт, вроде PHP LockIt

Тема в разделе "PHP", создана пользователем kactetus, 17 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    С помощью PHPiD.1.0.Public.Release-PCL определил, что скрипт закодирован PHP LockIt! 1.8.10.0 (Obfuscation mode).


    Сам код:

    PHP:
    <?


    function 
    start_thread ($conf)
    {
        
    unlink ('stop_threads');
        
    $ini parse_ini_file ($conftrue);
        
    $path2php $ini['options']['path2php'];
        
    $thr $ini['threads'];
        
    $sleep $ini['options']['sleep'];
        foreach (
    $thr as $k => $v)
        {
            
    $params '' $path2php ' -f ' realpath ('slave.php') . ' ' $conf ' ' $k ' &';
            
    popen ($params'w');
            if (
    trim ($sleep) != '')
            {
                if (
    is_numeric ($sleep))
                {
                    
    sleep ($sleep);
                    continue;
                }
                continue;
            }
        }
    }

    function 
    iiiiiii1ll11 ($IIIIIII1l1II$IIIIIII1l1Il)
    {
        
    $IIIIIII1l1I1 fopen ($IIIIIII1l1II'w');
        
    $IIIIIII1l1lI 0;
        foreach (
    $IIIIIII1l1Il as $IIIIIIIIII1I => $IIIIIIIIII1l)
        {
            ++
    $IIIIIII1l1lI;
            
    fputs ($IIIIIII1l1I1$IIIIIII1l1lI '="' $IIIIIIIIII1l '"
    '
    );
        }
        
    fclose ($IIIIIII1l1I1);
    }

    function 
    iiiiiii1l1ll ($IIIIIII1lllI$IIIIIIIIlIlI)
    {
            
    $ini parse_ini_file ($IIIIIII1lllItrue);
            
    $path2php $ini['options']['path2php'];
            
    $params '' $path2php ' -f ' realpath ('slave.php') . ' ' $IIIIIII1lllI ' ' $IIIIIIIIlIlI ' &';
            
    popen ($params'w');
    }
    error_reporting (0);
    $IIIIIII1l1l1 $_SERVER['argv'];
    $IIIIIII1lllI $IIIIIII1l1l1[1];
    if (
    file_exists ($IIIIIII1lllI))
    {
        
    $ini parse_ini_file ($IIIIIII1lllI);
    }
    else
    {
        exit (
    'Config file not found!');
    }
    if (
    file_exists ($IIIIIII1lllI '.log'))
    {
        
    $IIIIIII1l11I parse_ini_file ($IIIIIII1lllI '.log');
    }
    else
    {
        
    fclose (fopen ($IIIIIII1lllI '.log''w'));
        
    $IIIIIII1l11I parse_ini_file ($IIIIIII1lllI '.log');
    }
    if (empty (
    $ini))
    {
        exit (
    'Incorrect task!');
    }
    for (
    $IIIIIIIIIl11 1$IIIIIIIIIl11 <= count ($ini); ++$IIIIIIIIIl11)
    {
        
    $IIIIIII1l11l $ini[$IIIIIIIIIl11];
        list (
    $IIIIIII1l111$IIIIIII11III$IIIIIII11IIl$IIIIIII11II1) = explode ('||'$IIIIIII1l11I[$IIIIIIIIIl11]);
        
    $IIIIIII11IlI explode ('-'$IIIIIII11II1);
        if (
    trim ($IIIIIII1l111) == '')
        {
            
    $IIIIIII1l11I[$IIIIIIIIIl11] = $IIIIIII1l11l '||' time () . '||';
            echo 
    'Запускаем потоки по конфигу ' $IIIIIII1l11l '<br>';
            
    start_thread ($IIIIIII1l11l);
            
    iiiiiii1ll11 ($IIIIIII1lllI '.log'$IIIIIII1l11I);
            exit (
    'Операция успешно завершена');
        }
        if (
    trim ($IIIIIII11IIl) == '')
        {
            if (
    trim ($IIIIIII1l111) != '')
            {
                
    $IIIIIII11Ill parse_ini_file ($IIIIIII1l11ltrue);
                
    $IIIIIII11Il1 count ($IIIIIII11Ill['threads']);
                
    $IIIIIII11I1I 0;
                for (
    $IIIIIIII1lll 1$IIIIIIII1lll <= $IIIIIII11Il1; ++$IIIIIIII1lll)
                {
                    
    $IIIIIII11I1l file_get_contents ('tech' $IIIIIIII1lll '.txt');
                    list (
    $IIIIIII11I11$IIIIIII11lII$IIIIIII11lIl$IIIIIII11lI1) = explode ('||'$IIIIIII11I1l);
                    
    $IIIIIII11llI .= $IIIIIII11I11 '-';
                    if (
    trim ($IIIIIII11lI1) != 0)
                    {
                        ++
    $IIIIIII11I1I;
                        continue;    
                    }
                    else
                    {
                        if (
    trim ($IIIIIII11I11) == trim ($IIIIIII11IlI[$IIIIIIII1lll 1]))
                        {
                            echo 
    'Поток ' $IIIIIIII1lll ' спит...<b>Wake up!</b><br>';
                            
    iiiiiii1l1ll ($IIIIIII1l11l$IIIIIIII1lll);
                            continue;
                        }
                        continue;
                    }
                }
                if (
    $IIIIIII11I1I == $IIIIIII11Il1)
                {
                    
    $IIIIIII1l11I[$IIIIIIIIIl11] = $IIIIIII1l11l '||' $IIIIIII11III '||' time () . '||' $IIIIIII11llI;
                    
    iiiiiii1ll11 ($IIIIIII1lllI '.log'$IIIIIII1l11I);
                    exit (
    'Операция успешно завершена');
                }
                
    $IIIIIII1l11I[$IIIIIIIIIl11] = $IIIIIII1l11l '||' $IIIIIII11III '||||' $IIIIIII11llI;
                
    iiiiiii1ll11 ($IIIIIII1lllI '.log'$IIIIIII1l11I);
                exit (
    'Операция успешно завершена');
            }
            continue;
        }
    }
    exit (
    'Задание выполнено!');
    ?>
    PHPUnLockIt 2008 не смог декодировать код :nezn:.
    Кому не сложно попробуйте раскодировать, заранее спасибо. :)
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Скрипт не закодирован, а обфусцирован. Восстановить прежний код невозможно. Можно только вручную интуитивно восстановить название переменных и функций.
     
  3. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    tostrss

    у меня есть файл index.php с переменными, после прогонна через PHP LockIt Encode (обфусцироваН), появляются переменные, которые имеют одинаковые сходства с приведенными кодом выше.
    Пример
    PHP:
    stripslashes_array iiiiiii1ll11
    Как массова переименовать переменные их?
     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Ну приведи пример своего index.php, а там посмотрим как можно массово их переименовать.
     
  5. a1ien.n3t

    a1ien.n3t Постоялец

    Регистр.:
    12 июл 2008
    Сообщения:
    52
    Симпатии:
    7
    Я думаю что имена переменных беруться рандомно ))
    И некак не связанны с именами переменных которые были до этого.
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    массово - через редактор заменой

    только учитывай что переменная начинается с $ и заканчивается либо пробелом, либо запятой, либо закрывающей скобкой, либо +-/ и т.д.

    Работал как-то со скрптом - намаялся только из-за того что тупо заменял

    PS это как дизассемблирование. Сам выбирай как называть перемнную исходя из того как она используется
     
  7. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Убрал заглушку moy-scripts.vip и поменял $conf_correct = file_get_contents($c_file);? но все равно выдает Configuration file does not exist
     
Статус темы:
Закрыта.