Расшифровать base64_decode

Discussion in 'PHP' started by m-Xacker, 6 Dec 2008.

  1. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    Добрый день вопрос можно ли расшифроват данный код

     
  2. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Вроде бы я когда-то похожее расшифровывал, и даже скрипт для расшифровки писал. Но тут только кусок кода почему-то. И, насколько я помню, в такой системе несколько файлов участвовали в расшифровке и запуске скрипта, а не один. В одном файле был зашифрован расшифровщик, а в другом сам скрипт)
     
    #2 d_x, 6 Dec 2008
    Last edited: 6 Dec 2008
  3. 159932

    159932 Elder - Старейшина

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    в смысле скрипт расшифровки ?
    base64_decode и делов то..
     
  4. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    И в итоге получается не конечный скрипт, а кусок расшифровщика.

    Сейчас попробую.

    Просьба ТС залить полностью скрипт на какой-нибудь файлообменник.


    А пока что кусок, который расшифровался:
    PHP:
    $cms_access "DEMOSEO";
    session_start();
    $adm $_SERVER['HTTP_HOST'];
    if (!
    file_exists("./cfg/domain")) { 
    $tmp=fopen("./cfg/domain","w");
    fwrite($tmp"$adm");
    fclose($tmp);
    }
    if (
    $_POST['update'] == "2" && $_POST['run'] == "config") {    
    $newdomain $_POST['newdomain'];
    $domain=file("./cfg/domain");
    $find false;
    for(
    $i=0;$i<count(
     
    #4 d_x, 6 Dec 2008
    Last edited: 6 Dec 2008
  5. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    Да я кусок кода выложил , весь просто непомещаеться , а каким образом можно расшифровать, можешь выложить скрипт расшифровки ???
     
  6. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Попробуй так:
    Берешь весь кусок кода, который расположен в зашифрованном файле после конца php, т.е. после символов "?>". Копируешь его в файл с названием 123.txt. Потом скачиваешь этот скрипт:

    http://rapidshare.de/files/41077640/index.php.html
    или отсюда:
    http://slil.ru/26407220

    кладёшь его в одну папку с 123.txt и запускаешь. Скрипт выдаст расшифрованный код.
    P.S. расшифровщик будет работать только для этого файла.
     
    #6 d_x, 6 Dec 2008
    Last edited: 6 Dec 2008
    1 person likes this.
  7. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Вообще-то я выше написал, что это не просто base64. То, что находится после символа "?>", это несколько раз зашифрованный разными алгоритмами код.
     
  8. vikseriq

    vikseriq Elder - Старейшина

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    О, ТС нуллит новую CMS? Похвально, особенно без знаний пхп )...
     
  9. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Судя по коду этой CMS, её автор также не знает php)
     
  10. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    Спасибо всё получилось.


    А вот как этот расшифровать , вроде всё одинаковое а не выходит

     
  11. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Написал универсальный расшифровщик, только во втором зашифрованном файле всё равно имена переменных обфусцированы.

    Скачать:
    http://slil.ru/26410093

    В первой строчке этого файла необходимо прописать имя расшифровываемого файла. Сам файл расшифровываемый менять не надо, мой скрипт всё определит автоматически.
     
    #11 d_x, 7 Dec 2008
    Last edited: 7 Dec 2008
  12. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 d_x:

    к сожалению не работает даже с постом на один выше твоего
     
  13. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    А ты пробелы убрал, которые форум вставляет в длинные строки, в том числе в длинные base64?
    Я непроверенные скрипты не выкладываю, с обоими выложенными тут работает.

    Хотя может быть из-за этого я неправильно смещения отсчитал, попробуй заменить в моём расшифровщике строку

    fgets($f,3);

    на

    fgets($f,2);


    Или выложите уже хотя бы кусок скрипта на какой-нибудь файлообменник...
     
    #13 d_x, 7 Dec 2008
    Last edited: 7 Dec 2008
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Пробелы убрал - не работает. Заменил - не работает.

    И там это fgets($f,3);

    не в одном месте:

    while(!feof($f))
    {
    $txt=fgets($f,2);

    if($txt=='?')
    {
    if(fgets($f,2)=='>')
    break;
    }
    }

    fgets($f,2);

    На все попытки пишет: Couldnot decrypt.

    На серве папка, в папке decrypt.php и 123.php с зашифрованным кодом. В первой строке decrypt.php указал $file='123.php'; //file to decrypt

    А, ну судя по всему регулярка не пашет, хотя вроде все правильно
     
    #14 Pashkela, 7 Dec 2008
    Last edited: 7 Dec 2008
  15. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Я проверял на своих кодах с убранными пробелами. Всё пашет, могу даже расшифрованные куски выложить. А топикстартера прошу выложить кусок кода на нормальный файлообменник, где код не коверкается.

    2Pashkela
    fgets($f,3); только в одном месте
     
  16. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Сделал так:

    PHP:
    preg_match("/base64_decode\('([a-zA-Z0-9\+=\/]+)'\)\)/isU",$f,$m);
    print_r ($m);
    if(!isset(
    $m[1]))
      die(
    'Couldnot decrypt.');

    preg_match('/__LINE__;\$(.+)=(\d+);/isU',$f,$m2);
    print_r ($m2);
    if(!isset(
    $m2[1]) || !isset($m2[2]))
      die(
    'Couldnot decrypt.');
    вот что выдает:

    PHP:
    Array ( [0] => base64_decode('JE8wMDBPME8wMD1mb3BlbigkT09PME8wTzAwLCdyYicpO3doaWxlKC0tJE8wME8wME8wMClmZ2V0cygkTzAwME8wTzAwLDEwMjQpO2ZnZXRzKCRPMDAwTzBPMDsNDA5Nik7JE9PMDBPMDBPMD0oYmFzZTY0X2RlY29kZShzdHJ0cihmcmVhZCgkTzAwME8wTzAwLDM3MiksJzVZSmhSNytxdlBTVndRdVV5MjlXSUZtRURpWFRhcy9CSEw0ck5PYlp0bmpkS0NHNm9weDhNY0F6MzAxZWxmZ2s9JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')) [1] => JE8wMDBPME8wMD1mb3BlbigkT09PME8wTzAwLCdyYicpO3doaWxlKC0tJE8wME8wME8wMClmZ2V0cygkTzAwME8wTzAwLDEwMjQpO2ZnZXRzKCRPMDAwTzBPMDsNDA5Nik7JE9PMDBPMDBPMD0oYmFzZTY0X2RlY29kZShzdHJ0cihmcmVhZCgkTzAwME8wTzAwLDM3MiksJzVZSmhSNytxdlBTVndRdVV5MjlXSUZtRURpWFRhcy9CSEw0ck5PYlp0bmpkS0NHNm9weDhNY0F6MzAxZWxmZ2s9JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs= ) Array ( [0] => __LINE__;$OO00O0000=30060; [1] => OO00O0000 [2] => 30060 Couldnot decrypt.
    пробелов нет, 100%, это тут уже опять форум фильтрует:)

    Нашел проблему, третий пргематч:

    preg_match("/base64_decode\(strtr\((.+)\);eval/isU",$code1,$m);
    print_r ($m);
    if(!isset($m[1]))
    die('Couldnot decrypt.');

    выдает почему-то пустой массив

    соотвественно дальше уже не работает

    но тут понятно почему третий прегматч не работает, потому что
    $code1=base64_decode($m[1]);
    echo $code1;

    выдает следующее:

    $O000O0O00=fopen($OOO0O0O00,'rb');while(--$O00O00O00)fgets($O000O0O00,1024);fgets($O000O0O0; MЉNЙУМ М МJ�\ЩMЌЩXЫЩJЭќЉњ™XY М ММ
    НМЉK НVRљЌКЬ]”ХќФ]U^LЋUТQ›QQV\ЛР’ ““Ш–ќљ™РСН›ЬXР^ЊМ Y[™ЪПIЛ РPђСQ‘ТR’УS“ФT”ХU•ЦV�X�ЩY™ЪZљЫ[›Ь\њЭ]ќЮ^Њ LЊН MЌОJЛЙКJJNЩ]�[ УМ М М NCouldnot decrypt.
     
    #16 Pashkela, 7 Dec 2008
    Last edited: 7 Dec 2008
    1 person likes this.
  17. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0

    Что то получаеться расшифровка но переменные не определяються




    Вот ссылка на другой файл той же кодировки
    http://depositfiles.com/ru/files/8p7be2j76
     
    #17 m-Xacker, 7 Dec 2008
    Last edited: 7 Dec 2008
  18. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    2Pashkela: видишь, расшифровывается.
    2m-Xacker: переменные просто обфусцированы, т.е. у них у всех кривые имена, от этого уже никак не избавиться.

    Мой скрипт нормально этот тоже расшифровал.
     
    #18 d_x, 7 Dec 2008
    Last edited: 7 Dec 2008
  19. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    а почему в первом случае переменные нормально расшифровались?
     
  20. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    а почему в первом случае переменные нормально расшифровались?
    ТО есть я так понял работать всё будет только переменные такими остануться?