Показать сообщение отдельно

  #759  
Старый 21.04.2009, 18:23
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

Небольшая функция для расшифровки простых обфускаций, например как тут или тут

PHP код:
function decrypt($data,$filename='',$times=1)
{
    error_reporting(0);

    function bulk($str)
    {
        $str = preg_replace('~^\?\>~','',$str);
        return str_ireplace(array('<?php','<?','?>','eval','__FILE__'),array('','','/*','echo','$_FILE__'),$str);
    }

    $f = $data;
    $_FILE__=$filename;
    
    for ($i=0;$i<$times;$i++)
    {
        ob_start();
        eval(bulk($f));
        $f = ob_get_contents();
        ob_end_clean(); 
    }
    return preg_replace(array('~^\?\>~','~\<\?$~'),'',$f);
}
Способ применения - $data - содержимое интересующего скрипта, например file_get_contents('encrypted.php')
$filename - путь до файла, некоторые защиты привязываются к __FILE__ например
$count - количество раз для снятия защиты, подбирается экспериментально, например для DLE - это 1, а для RedButton VVS Edition 5 или 6.

Последний раз редактировалось Gifts; 21.04.2009 в 18:27..
 
Ответить с цитированием