• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь как сделать из нулла официальное DEMO?

Статус
В этой теме нельзя размещать новые ответы.

paul_rem

Знаток
Регистрация
29 Июл 2009
Сообщения
388
Реакции
28
Всем привет. Вопрос: есть 9.0 нуллед от мид тима, как быстро сделать эту версию демо?
 
Открываем файл init.php (..\engine\inc\include\init.php) — этот файл обфусцирован ByteRun Protector for PHP. Чтобы его его деобфусцировать (раскодировать в читабельный вид)ь можно воспользоваться UnPHP - The Online PHP Decoder (Для просмотра ссылки Войди или Зарегистрируйся). Деобфусцированный код вставляем в init.php и сохраняем. Теперь у нас рабочий и раскодированный init.php. После этого можно приступить к удалению функции активации и установленным ограничениям:


Код:
Находим и удаляем версию инициализации DLE:

        define( 'DINITVERSION', "xxxx" );
        define( 'VERSIONID', "x.x" );


        Удаляем функцию отправки активации (send_activation):

        function send_activation( $query ) {
        
         $data = http_get_contents("http://dle-news.ru/extras/activate2009.php?".$query);

         if( $data !== false ) {
          if( stristr( $data, "antw:activated" ) ) return "1";
          if( stristr( $data, "antw:denied" ) ) return "0";
         }

         return "-1";
        }


        Удаляем функцию получения хеша ключа для нашего домена (get_domen_hash):

        function get_domen_hash() {
         $domen_md5 = explode( '.', $_SERVER['HTTP_HOST'] );
         $count_key = count( $domen_md5 ) - 1;
         unset( $domen_md5[$count_key] );
         if( end( $domen_md5 ) == "com" or end( $domen_md5 ) == "net" ) $count_key --;
         $domen_md5 = $domen_md5[$count_key - 1];
         $domen_md5 = md5( md5( $domen_md5 . "780918" ) );
         return $domen_md5;
        }


        Удаляем функцию активации DLE (dle_activation):

        function dle_activation($key, $domen_md5, $config, $offline = false) {
        
         include (ROOT_DIR . '/language/' . $config['langs'] . '/adminpanel.lng');
         $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
        
         $domain = urlencode( strip_tags( $_SERVER['HTTP_HOST'] ) );
         $key = trim( strip_tags( $key ) );
         @header( "Content-type: text/html; charset=" . $config['charset'] );

         if ( $offline ) {

          if( $key == md5( $domen_md5 . DINITVERSION ) ) {
          
           $buffer = "1";
         
          } else {
          
           $buffer = "-2";
         
          }

         } else {

          if( strlen( $key ) == 32 ) {

           $buffer = "-3";

          } else {

           $buffer = send_activation( "domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID );

          }
         }
        
         switch ($buffer) {

          case "-3" :
           $buffer = $lang['trial_act6']." ".$lang['key_format']."<b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>";
           break;
         
          case "-2" :
           $buffer = $lang['trial_act5'];
           break;
         
          case "-1" :
           $buffer = $lang['trial_act1'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" target=\"_blank\">" . $lang['get_key'] . "</a> " . $lang['key_activation'];
           $buffer .= "<br /><br /><b>$lang[site_code]</b><span style=\"padding-left:7px;\"><input class=\"edit\" type=\"text\" size=\"45\" name=\"sitecode\" id=\"sitecode\"> <input class=\"edit\" type=\"button\" onclick=\"dle_activation( 'code' ); return false;\" value=\"$lang[trial_act]\"></span><div id=\"result_info\" style=\"color:red;\"></div>";
           break;
         
          case "0" :
           $buffer = $lang['trial_act2'];
           break;
         
          case "1" :
           $config['key'] = md5( $domen_md5 . DINITVERSION );
          
           $handler = fopen( ENGINE_DIR . '/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'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" >" . $lang['get_key'] . "</a> " . $lang['key_activation'];
         }
        
         echo $buffer;
         die();
        }


        Удаляем переменные проверки ключа для лицензии и домена:

        $lic_tr = true;
        $domen_md5 = md5( get_domen_hash() . DINITVERSION );
        if( $domen_md5 == $config['key'] ) $lic_tr = false;


        Удаляем еще одну проверку активации:

        if( $_REQUEST['activation'] == "yes" AND $lic_tr) {

         if( $member_id['user_group'] != 1 ) die();

         if ( $_REQUEST['dle_key'] ) dle_activation( $_REQUEST['dle_key'], get_domen_hash(), $config );
         else dle_activation( $_REQUEST['site_code'], get_domen_hash(), $config, true );
         exit();
        }


        Удаляем установленное ограничение в 100 новостей и 200 комментариев:

        if( ($mod != "editnews" and $mod != "main" and $mod != "") AND $lic_tr ) {
        
         $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 > 100 ) msg( "info", "error", $lang['trial_limit'] );
         if( $count_comments > 200 ) msg( "info", "error", $lang['trial_limit'] );
        }
Отключаем проверку обновлений. Для этого откроем updates.php (..\engine\ajax\updates.php) удалим все оттуда. И вставим это:
Код:
   <?php
    echo <<<HTML
    <div class="ui-state-error ui-corner-all" style="padding:10px;"><b>Внимание!</b>
    <br />Во избежании проблем, в целях безопасности, проверка обновлений отключена!
    </div>
    HTML;
    ?>
Ну вот и всё...
 
Открываем файл init.php (..\engine\inc\include\init.php) — этот файл обфусцирован ByteRun Protector for PHP. Чтобы его его деобфусцировать (раскодировать в читабельный вид)ь можно воспользоваться UnPHP - The Online PHP Decoder (Для просмотра ссылки Войди или Зарегистрируйся). Деобфусцированный код вставляем в init.php и сохраняем. Теперь у нас рабочий и раскодированный init.php. После этого можно приступить к удалению функции активации и установленным ограничениям:


Код:
Находим и удаляем версию инициализации DLE:

        define( 'DINITVERSION', "xxxx" );
        define( 'VERSIONID', "x.x" );


        Удаляем функцию отправки активации (send_activation):

        function send_activation( $query ) {
       
         $data = http_get_contents("http://dle-news.ru/extras/activate2009.php?".$query);

         if( $data !== false ) {
          if( stristr( $data, "antw:activated" ) ) return "1";
          if( stristr( $data, "antw:denied" ) ) return "0";
         }

         return "-1";
        }


        Удаляем функцию получения хеша ключа для нашего домена (get_domen_hash):

        function get_domen_hash() {
         $domen_md5 = explode( '.', $_SERVER['HTTP_HOST'] );
         $count_key = count( $domen_md5 ) - 1;
         unset( $domen_md5[$count_key] );
         if( end( $domen_md5 ) == "com" or end( $domen_md5 ) == "net" ) $count_key --;
         $domen_md5 = $domen_md5[$count_key - 1];
         $domen_md5 = md5( md5( $domen_md5 . "780918" ) );
         return $domen_md5;
        }


        Удаляем функцию активации DLE (dle_activation):

        function dle_activation($key, $domen_md5, $config, $offline = false) {
       
         include (ROOT_DIR . '/language/' . $config['langs'] . '/adminpanel.lng');
         $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
       
         $domain = urlencode( strip_tags( $_SERVER['HTTP_HOST'] ) );
         $key = trim( strip_tags( $key ) );
         @header( "Content-type: text/html; charset=" . $config['charset'] );

         if ( $offline ) {

          if( $key == md5( $domen_md5 . DINITVERSION ) ) {
         
           $buffer = "1";
        
          } else {
         
           $buffer = "-2";
        
          }

         } else {

          if( strlen( $key ) == 32 ) {

           $buffer = "-3";

          } else {

           $buffer = send_activation( "domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID );

          }
         }
       
         switch ($buffer) {

          case "-3" :
           $buffer = $lang['trial_act6']." ".$lang['key_format']."<b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>";
           break;
        
          case "-2" :
           $buffer = $lang['trial_act5'];
           break;
        
          case "-1" :
           $buffer = $lang['trial_act1'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" target=\"_blank\">" . $lang['get_key'] . "</a> " . $lang['key_activation'];
           $buffer .= "<br /><br /><b>$lang[site_code]</b><span style=\"padding-left:7px;\"><input class=\"edit\" type=\"text\" size=\"45\" name=\"sitecode\" id=\"sitecode\"> <input class=\"edit\" type=\"button\" onclick=\"dle_activation( 'code' ); return false;\" value=\"$lang[trial_act]\"></span><div id=\"result_info\" style=\"color:red;\"></div>";
           break;
        
          case "0" :
           $buffer = $lang['trial_act2'];
           break;
        
          case "1" :
           $config['key'] = md5( $domen_md5 . DINITVERSION );
         
           $handler = fopen( ENGINE_DIR . '/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'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" >" . $lang['get_key'] . "</a> " . $lang['key_activation'];
         }
       
         echo $buffer;
         die();
        }


        Удаляем переменные проверки ключа для лицензии и домена:

        $lic_tr = true;
        $domen_md5 = md5( get_domen_hash() . DINITVERSION );
        if( $domen_md5 == $config['key'] ) $lic_tr = false;


        Удаляем еще одну проверку активации:

        if( $_REQUEST['activation'] == "yes" AND $lic_tr) {

         if( $member_id['user_group'] != 1 ) die();

         if ( $_REQUEST['dle_key'] ) dle_activation( $_REQUEST['dle_key'], get_domen_hash(), $config );
         else dle_activation( $_REQUEST['site_code'], get_domen_hash(), $config, true );
         exit();
        }


        Удаляем установленное ограничение в 100 новостей и 200 комментариев:

        if( ($mod != "editnews" and $mod != "main" and $mod != "") AND $lic_tr ) {
       
         $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 > 100 ) msg( "info", "error", $lang['trial_limit'] );
         if( $count_comments > 200 ) msg( "info", "error", $lang['trial_limit'] );
        }
Отключаем проверку обновлений. Для этого откроем updates.php (..\engine\ajax\updates.php) удалим все оттуда. И вставим это:
Код:
   <?php
    echo <<<HTML
    <div class="ui-state-error ui-corner-all" style="padding:10px;"><b>Внимание!</b>
    <br />Во избежании проблем, в целях безопасности, проверка обновлений отключена!
    </div>
    HTML;
    ?>
Ну вот и всё...

Ответ хороший, спасибо, я сам виноват, что не точный вопрос задал. Есть нуленая версия и надо сделать так, чтобы в админке показывалось , что это официальная демо версия 9.0 даже пусть так и будет на самом деле, просто что надо заменить на что ?
 
Скачай официальную демку... Иначе - никак. Ты используешь скрипт с открытым исходным кодом, у демо он закрытый. Любой хостер спалит, что это не демо. Ровно как и любой, хоть чуть-чуть знающий о ДЛЕ.
Кроме того, есть ряд функций, которая в демо обрезаны

Если тебе тупо чтобы отображалось - поменяй в ленг-файле "Активировано" на "Демо" или что-то в этом духе и не парься...
 
Скачай официальную демку... Иначе - никак. Ты используешь скрипт с открытым исходным кодом, у демо он закрытый. Любой хостер спалит, что это не демо. Ровно как и любой, хоть чуть-чуть знающий о ДЛЕ.
Кроме того, есть ряд функций, которая в демо обрезаны

Если тебе тупо чтобы отображалось - поменяй в ленг-файле "Активировано" на "Демо" или что-то в этом духе и не парься...

да вот проблема в том, что где найти 9.0 версию, ее сейчас днем с огнем не найти. К тому же офф демо версию. Просто в сайт встроено два скрипта и не хочется трогать всё это дело. Но понимаю, что выбора нет, поставил 10.6 , сделал скрины, отправил хостеру, жду ответа.
 
Плохо ищите...
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование:
Вы издеваетесь? вторую ссылку гляньте!

Capture.JPG
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху