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

  #2  
Старый 01.11.2007, 09:27
.::Gh0st::.
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
С нами: 11209466

Репутация: 1067
Post

для начала создаем файл script.php, над которым будут проводиться операции
PHP код:
<?
eval("\$str = \"$str\";");
?>
затем код оперирущего скрипта
PHP код:
<?
$filename 
= "script.php";

$rh = fopen($filename, "r");
    
$filedata = fread($rh, filesize($filename));
    if (
preg_match("/eval\(.*\);/i", $filedata))
    {
        
$backup = preg_split("/eval\(.*\);/i", $filedata);
        
$params = preg_split("/eval\(|\);/i", $filedata);
        
$data = $backup[0]."echo ".$params[1].";".$backup[1];        
        
$wh = fopen($filename, "w");
        
fwrite($wh, $data);
        
fclose($wh);        
    }
    
fclose($rh);

// execution
$fullpath = realpath("./");
passthru("php $fullpath/script.php");
?>
пока что не реализовано (потому как не понял, что ты имел ввиду)
Цитата:
и если в результате находил в коде eval(gzinflate(base64_decode())), то повторял процедуру.
запускается скрипт, ищет eval() - пока что при условии что он один (если предполагается что их несколько - скажи - переделаю). далее бэкапится все до eval() и после. внутри eval() выдирается все, что было между скобок. затем открываем файл заного, вставляем все, что было до eval(), вставляем echo и все что было между скобок в eval() и все что после eval. работоспособность проверил, но только при учете что eval() в скрипте один, если несколько, надо сделать построчное чтение из файла и немного изменить обработку. затем скрипт запускается из командной строки командой
Цитата:
php full/path/to/file/script.php

Последний раз редактировалось .::Gh0st::.; 01.11.2007 в 09:30..
 
Ответить с цитированием