» » » Как зануллить DLE или делаем свой nulled DataLife Engine! |

Как зануллить DLE или делаем свой nulled DataLife Engine!
Как зануллить DLE или делаем свой nulled DataLife Engine!

Для многих уже эта информация покажется не новой, но все же я решил написать о ней. Совсем недавно (или уже давно, я не интересовался этим) в сети появилась информация о том, что сделать свой нуллед DLE довольно таки просто и сделать это может простой смертный у которого нет навыков в программировании. Так вот в этой статье я предельно понятно, разжёвывая постараюсь описать всю процедуру занулливания длешки. Если вы хотите сделать свой null и быть уверенным, что в ней нет ни каких шеллов, бедкоров и прочей грязи, то можете смело читать дальше, а если вы ленивая жопа не хотите этого делать, то вы можете скачать ее с нашего сайта в разделе Релизы DLE.
И так поехали...
Начнем с того, что нам нужно выбрать нужную вам версия, а я выбрал последнюю, которая актуальна на момент написания этой статьи - DLE 10.2. Ну что, выбрали? Тогда приступим.
Теперь идем на официальный сайт dle-news, регистрируемся и скачиваем оригинальный дистрибутив в нужной вам кодировке, лично я советую UTF-8, хотя сам сижу на CP-1251 wink
Скачали, теперь распакуйте ее к примеру на рабочий стол и мы начнем!
Для начала нам нужно будет раскодировать файл init.php, хотел бы заметить что не путайте файл enigne/init.php c \engine\inc\include\init.php(нам нужен именно он!), а для этого нам нужен Decoder. Можно его скачать в сети, но зачем все усложнять если есть онлайн сервисы которые облегчат вашу жизнь, например как этот - ByteRun Protector for PHP, кстати, если у вас стоит блок рекламы, то его нужно отключить, т.к со включенным блоком он не хочет работать. Заходим на него и вставляем код из файла init.php и получаем такой код:

Полученный код вставляем обратно и сохраняем! И так, мы уже раскодировали этот файл и мы большие молодцы, но на этом еще не все fellow
Теперь нам нужно убрать шаг активации и снять все ограничения с DEMO версии. Еще раз хотел бы напомнить, что работать мы будем с файлов который расположен по адресу \engine\inc\include\init.php:
В самом начале ищем и удаляем:

define( 'DINITVERSION', "1002" );
define( 'VERSIONID', "10.2" );

Потом ищем этот код и тоже удаляем:
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";
}

Теперь нам нужно удалить функцию которая отвечает за получение хеша ключа для нашего домена или поддомена:
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:
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();
}

Ну и самое главное убираем эти долбанные ограничения демо версии дле:
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'] );
}

Вот и всееееееееееее! Мы сделали свой нулл и мы большие молодцы, погладьте себя по голове и идите пить чайт с мыслью, что я крут! wink
Кстати, а если вы хотите убрать проверку обновлений, то предлагаю сделать следующее,а именно открыть файл \engine\ajax\updates.php удалить его содержимое и ставить туда:
<?php
echo <<<HTML
<div class="ui-state-error ui-corner-all" style="padding:10px;"><b>Внимание!</b>
<br />Проверка обновлений отключена!
</div>
HTML;
?>


Ну вот, на этом думаю все. Кстати, хотел бы сказать, что скоро в свет выйдет моя сборочка, над которой я работаю и уже скоро выпущу, а если вы живете в Новосибирске и ищете Доставку цветов в Новосибирске, то вам сюда.

создать, свой, nulled, dle
Автор:  candro
37 | Категория: DataLife Engine » Уроки22.04.14
Похожие новости
Аватар
Michaeltissson  00:35, 30 апреля

http://onlineserial.ru/ гдз по алгебре сборника задач 9 класс http://csoldier.ru/ http://kalop.ru/

Информация! Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.