Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Расшифровка файла

Сообщения:  [1-10]   [11-11] 

 
 автор: cheops   (10.11.2006 в 11:33)   письмо автору
 
   для: Yakor   (10.11.2006 в 10:53)
 

Зашифрованный файл JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1 создаётся по методике, описанной в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=27231

   
 
 автор: Yakor   (10.11.2006 в 10:53)   письмо автору
 
   для: Shiva   (03.11.2006 в 03:54)
 

>Здесь переменная $_D становится псевдонимом функции base64_decode().
>Затем она получает в качестве аргумента строку
>

>'JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1...
>


можно про это по-подробнее.... где здесь?, как она становится? откуда берется аргумент?

   
 
 автор: Shiva   (05.11.2006 в 19:56)   письмо автору
 
   для: ASA   (03.11.2006 в 11:29)
 

Что вам требуется вывести? Я выложил зашифрованный код.

   
 
 автор: Loki   (03.11.2006 в 14:46)   письмо автору
 
   для: ASA   (03.11.2006 в 11:29)
 

>Мож у меня че с Самим PHP
Наверняка:)

   
 
 автор: ASA   (03.11.2006 в 11:29)   письмо автору
 
   для: Shiva   (03.11.2006 в 03:54)
 

Привет!!


Ну и как правильно вывести этот код который в eval, где переменная R. Я пытался eval заменить на echo, всеравно выводится какя-то абракотабра но ника ни код, а как ты описал, я все делал также..

Мож у меня че с Самим PHP

   
 
 автор: Shiva   (03.11.2006 в 03:54)   письмо автору
 
   для: ASA   (03.11.2006 в 00:23)
 

Здесь переменная $_D становится псевдонимом функции base64_decode().
Затем она получает в качестве аргумента строку

'JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1...


В результате получаем php-код, который и передается на исполнение функции eval().
Этот код следующий:

$_X=base64_decode($_X);
$_X=strtr($_X,'SgPO9YZWFKmqyfxcjLJRzuM5vNts1b.{B4nC]i/2Dl0EheA[d8=Qp>VXo H}6GIw7ka3TrU<','=R9odmplAEPyk8gv[53xrMezqZHi7YhW<DsG{>CcX}1N/afj6]JtuS.BUnwVKLQO20ITF4b');
$_R=ereg_replace('__FILE__',"'".$_F."'",$_X);
eval($_R);
$_R=0;
$_X=0; 


Как видите, здесь переменная $_X декодируется той же функцией.
Результат уже напоминает php-код, однако ряд символов в нем заменен на другие. На наше счастье, нам не нужно разбираться в этой замене, так как разработчики защиты любезно оставили нам не только алгоритм преобразования, но и его результат: он оказывается в переменной $_X после вызова функции strtr();

Это уже полноценный php-код. Регулярное выражение просто ищет в этом коде элемент вида __FILE__ и заменяет его значением переменной $_F - эта переменная инициализирована в основном кода константой __FILE__ (путь к исполняемому файлу).

Полученный в результате в переменную $_R php-код вновь отдается на исполнение функции eval(); Этот код, из-за которого вся и история, выглядит следующим образом:


<?
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 http://www.pc-soft.ru/
-----------------------------------------------------
 Copyright (c) 2004,2006 SoftNews Media Group
=====================================================
 Данный код защищен авторскими правами
=====================================================
 Файл: init.php
-----------------------------------------------------
 Назначение: Инициализация
=====================================================
*/

function convert_unicode($t$to 'windows-1251')
{
        
$t preg_replace'#%u([0-9A-F]{1,4})#ie'"'&#' . hexdec('\\1') . ';'"$t );
        
$t urldecode ($t);
        
$t html_entity_decode($tENT_NOQUOTES$to);
        return 
$t;
}

function 
send_activation ($query,$others=''){

   
$host='www.dle-news.ru';
   
$path='/extras/activate5.php';

   
$post="POST $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n${others}User-Agent: Mozilla 4.0\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n$query";

   
$h=@fsockopen($host,80$errno$errstr30);

    if (!
$h) {
       
$r = @file_get_contents("http://".$host.$path."?".$query);
    } 
    else 
    {
         
fwrite($h,$post);
    
         for(
$a=0,$r='';!$a;){
            
$b=fread($h,8192);
            
$r.=$b;
            
$a=(($b=='')?1:0);
         }

         
fclose($h);
    }

  if (
stristr$r"antw:activated" )) return "1";
  if (
stristr$r"antw:denied" )) return "0";

  return 
"-1";
}


function 
dle_activation($name$key$site_key){

include (
'../data/config.php');
include (
'../../language/'.$config['langs'].'/adminpanel.lng');
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];

$name urlencode(strip_tags ($name));
$key  strip_tags ($key);

$buffer send_activation ("name={$name}&key={$key}&site_key={$site_key}");


switch (
$buffer) {

case 
"-1" :
    
$buffer $lang['trial_act1'];
    break;

case 
"0" :
    
$buffer $lang['trial_act2'];
    break;

case 
"1" :
    
$config['key'] = $site_key;

    
$handler fopen('../data/config.php'"w");
    
fwrite($handler"<?PHP \n\n//System Configurations\n\n\$config = array (\n\n");
    foreach(
$config as $name => $value)
    {
    
fwrite($handler"'{$name}' => \"{$value}\",\n\n");
    }
    
fwrite($handler");\n\n?>");
    
fclose($handler);

    
$buffer $lang['trial_act3'];
    break;

default:
    
$buffer $lang['trial_act4'];
}

@
header("HTTP/1.0 200 OK");
@
header("HTTP/1.1 200 OK");
@
header("Cache-Control: no-cache, must-revalidate, max-age=0");
@
header("Expires: 0");
@
header("Pragma: no-cache");
@
header("Content-type: text/css; charset=".$config['charset']);
echo 
$buffer;
die ();
}


    
$site_key explode('.'$_SERVER['HTTP_HOST']);
    
$count_key count($site_key) - 1;
    unset (
$site_key[$count_key]);
    if (
end($site_key) == "com" OR end($site_key) == "net"$count_key --;
    
$site_key $site_key[$count_key-1];
    
$site_key md5(md5($site_key."780918"));
    
$trial_version false;
    
$trial true;

    if (
$site_key == $config['key']) {
    
$trial false;
    }

    if (
$_REQUEST['activation'] == "yes"dle_activation (convert_unicode($_REQUEST['name']), convert_unicode($_REQUEST['dle_key']), $site_key);

define('DATALIFEENGINE'true);
extract($_REQUESTEXTR_SKIP);

require_once(
ENGINE_DIR.'/inc/mysql.php');
require_once(
ENGINE_DIR.'/data/dbconfig.php');
require_once(
ROOT_DIR.'/language/'.$config['langs'].'/adminpanel.lng');

$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];

require_once(
ENGINE_DIR.'/inc/functions.inc.php');
require_once(
ENGINE_DIR.'/skins/default.skin.php');

if (isset (
$_REQUEST['action'])) $action $_REQUEST['action']; else $action "";
if (isset (
$_REQUEST['mod'])) $mod $_REQUEST['mod']; else $mod "";
if (isset (
$_COOKIE['lastusername'])) $lastusername $_COOKIE['lastusername']; else $lastusername "";

if ((
$mod != "editnews" AND $mod != "main" AND $mod != "") AND $trial) {
$row $db->super_query("SELECT COUNT(*) as count FROM " PREFIX "_post");
$stats_news $row['count'];

$row $db->super_query("SELECT COUNT(*) as count FROM " PREFIX "_comments");
$count_comments $row['count'];

if (
$stats_news 500msg("info","error"$lang['trial_limit']);
if (
$count_comments 1000msg("info","error"$lang['trial_limit']);

}

//################# Определение групп пользователей
$user_group get_vars ("usergroup");

if (!
$user_group) {
  
$user_group = array ();

    
$result $db->query("SELECT * FROM " PREFIX "_usergroups ORDER BY id ASC");

  while(
$row $db->get_row($result)){

   
$user_group[$row['id']] = array ();

     foreach (
$row as $key => $value)
     {
       
$user_group[$row['id']][$key] = $value;
     }

  }
  
set_vars ("usergroup"$user_group);
  
mysql_free_result($result);
}
//#################
?>

   
 
 автор: ASA   (03.11.2006 в 00:38)   письмо автору
 
   для: New   (03.11.2006 в 00:35)
 

Эт понятно што там энкодер я пробовал ехом выводить ипринтом выводится одна абракотабра.. а толжен быть нормальный пхп ткод.

   
 
 автор: New   (03.11.2006 в 00:35)   письмо автору
 
   для: ASA   (03.11.2006 в 00:23)
 

Это не шифровка, а base64_encode.

   
 
 автор: DEM   (03.11.2006 в 00:32)   письмо автору
 
   для: ASA   (03.11.2006 в 00:23)
 

И еще очень хотелось бы, что бы вы так не вывешивали скрипты... страницу читать просто нереально, модераторы всё равно скорее всего или закроют или удалят...

   
 
 автор: DEM   (03.11.2006 в 00:27)   письмо автору
 
   для: ASA   (03.11.2006 в 00:23)
 

Я не уверен, но вроде бы этот код не должен работать... А в одинарных кавычках скорее всего какие нить зашифрованные пароли или что-то типа того...

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования