8Dle
Авторизация

Нуллим Dle своими руками!

Нуллим Dle своими руками!

Создание DLE Nulled своими руками на примере версии 10.3. Многие наверное задавались вопросом, как сделать Null DLE. На самом деле здесь нет ничего сложного. Если вы посмотрите внимательно на этапы превращения зашифрованного файла в null файл init.php, то складывается такое впечатление, что сами разработчики аккуратно расположили код так, чтобы было удобно его редактировать.

Начнем по порядку:
1. Скачиваем чистую DLE

2. Открываем файл init.php (../engine/inc\include/init.php) — этот файл закодирован ByteRun Protector for PHP.

3. Сейчас нам нужно его Декодировать (раскодировать в читабельный вид). Для этого можно воспользоваться Online ByteRun PHP Decoder

4. Раскодированный код вставляем в init.php и сохраняем. Теперь у нас рабочий и раскодированный init.php

5. А теперь будем удалять функции активации и установленные ограничения:

а) Находим и удаляем версию инициализации DLE:
define('DINITVERSION', "1130");
define('VERSIONID', "10.3");

Нуллим Dle своими руками!

б) Удаляем функцию отправки активации (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;
$auto_detect_config = false;
$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'] . '<br /><br />' . $activation_field);
    if ($count_comments > 200) msg("info", "error", $lang['trial_limit'] . '<br /><br />' . $activation_field);
}


6. Можно отключить проверку обновлений. Для этого откроем 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;
?>


На этом все!

Жмите на Кнопу ниже, или подписывайтесь!


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


Dle это движок который изначально проектировался для создания новостных сайтов, но по мере своего развития движка значительно расширил свою функциональность и стал универсальным средством разработки и сопровождения сайтов и блогов различной направленности и тематики. По сравнению с другими бесплатными (и некоторыми платными) CMS системами движок dle обладает довольно обширными возможности.

Авторизация