DLE Nulled


Как делают DLE Nulled? Сделать самому нул DLE или KeyGen? Сегодня на https://dle9.com/ вы узнаете поэтапное создание нуллед DataLife Engine любой версии скрипта.
Это не урок, а просто возможность объяснить, как его делают большинство и что это такое нулл дле и лицензия читаем подробно.

Для многих это возможность быть уверенным в защите от шеллов своего сайта, ведь не секрет, что большинство используют на своем ресурсе нуллед движка DataLife Engine, а для других может будет просто интересно. Благодаря получению неллуд версии вы можете проверить шаблоны, модули, хаки, форум под управлением движка DataLife Engine 10.5 версии, прочитать самое важное для dle информация о дополнениях.

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

Nulled DLE

Создание своего DLE Nulled на примере версии 10.2 DLE, 10.3 DLE, 10.4 DLE, 10.5 DLE, 10.6 DLE, 11.0 DLE, 11.1 DLE, 11.2 DLE и т.д.)
Многие наверное задавались вопросом, как сделать Null DLE? Сейчас вы увидите, что ничего сложного в этом нет.

Кстати, есть и другие способы получения полной рабочей версии движка, например с генерировать лицензионный ключ на онлайн генератора для вашего домена или оффлайн для DLE 10.2 (то есть на вашем домашнем компьютере), что позволяет без проблем занулить dle собственноручно, т.е. сделать DLE Nulled!

А вот самому получить файл init.php может будет интересно многим.

Делаем Dle nulled


Начнем по порядку:

1. (Скачиваем / Находим / Просим / Покупаем) — чистую DLE (файл init.php (..\engine\inc\include\init.php) будет не читаемым если это чистая лицензия)

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

3. Теперь нам нужно его деобфусцировать (раскодировать в читабельный вид). Для этого можно воспользоваться Online ByteRun Protector for PHP. Берем код из файла init.php (..\engine\inc\include\init.php) вставляем в окно и нажимаем кнопку декодировать.

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

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

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

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


Кстати, в онлайн KeyGen для DLE вот этот код "1002", является ключом для расшифровки версии 10.2 дле.

К примеру в модуле Генератор ключей для 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;
$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'] );
}


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 Nulled готов к использованию.
Информации из интернета с blogger
Автор: Posterito Winston



  • 80

Комментарии 97

dle9.com от 30 июля 2016 17:36
Цитата: 2009bes
А что касается кода ????

Я конечно занулил и заменил, в админше пишет = что лицензия. Но данная строчка в файле то осталась.Удалить ?

если ошибка PHP не появится после удаление, можно удалять... это вроде как проверка кода активации в /data/config.php и сообщения об ошибке, что движок активирован или ведите код XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
2009bes от 30 июля 2016 16:33
А что касается кода ????

if (!is_writable(ENGINE_DIR . '/data/config.php')) {
        $lang['stat_system'] = str_replace("{file}", "engine/data/config.php", $lang['stat_system']);
        $fail = "<div class=\"alert alert-error text-left\">{$lang['stat_system']}</div>";
    } else $fail = "";
    $activation_field.= "<div id=\"dle-activation\" class=\"alert alert-info text-left\">{$lang['trial_info']}<br /><br /><b>{$lang['trial_key']}</b><span class=\"sitecodefield\"><input type=\"text\" size=\"45\" name=\"sitekey\" id=\"sitekey\" style=\"max-width:99%\"> <button onclick=\"dle_activation( 'key' ); return false;\" class=\"btn btn-sm btn-green\">{$lang['trial_act']}</button></span
><div id=\"result_info\"><br />{$lang['key_format']} <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b></div></div>
	{$fail}";
} else $activation_field = "";



Я конечно занулил и заменил, в админше пишет = что лицензия. Но данная строчка в файле то осталась.Удалить ?
lacrimosa от 5 мая 2016 08:20
Цитата: dle9.com
Цитата: lacrimosa
Чтоб не пришло "письмо счастья" ))

Цитата: dle9.com
здесь ещё посмотрите

Этот файл не в кодировке base 64..

там несколько методов кодирования edoced_46esab');eval и кажется потом base 64, как правила сервисы расшифровки рассчитаны только на одну, ну кроме выше ...

Думаете поможет от писем счастья, если бы разработчики могли видеть файлы зашифрованы они или нет, это означало возможность полного доступа к этому файлу, этот файл очень важный, иметь к нему доступ это иметь возможность к взлому любого сайта дле.

Пришло уже 2 раза.. после этого перешла на триал-версию. попросили заменить все файлы на зашифрованные.. =(
dle9.com от 5 мая 2016 08:18
Цитата: lacrimosa
Чтоб не пришло "письмо счастья" ))

Цитата: dle9.com
здесь ещё посмотрите

Этот файл не в кодировке base 64..

там несколько методов кодирования edoced_46esab');eval и кажется потом base 64, как правила сервисы расшифровки рассчитаны только на одну, ну кроме выше ...

Думаете поможет от писем счастья, если бы разработчики могли видеть файлы зашифрованы они или нет, это означало возможность полного доступа к этому файлу, этот файл очень важный, иметь к нему доступ это иметь возможность к взлому любого сайта дле.
lacrimosa от 5 мая 2016 07:37
Чтоб не пришло "письмо счастья" ))

Цитата: dle9.com
здесь ещё посмотрите

Этот файл не в кодировке base 64..
dle9.com от 5 мая 2016 07:31
Цитата: lacrimosa
Как обратно закодировать файл?

Зачем, можно поинтересоваться??? :winked:

Тем же сервисом, что и раскадировали, если такой функции нет там, не смотрел, есть сервисы которые это делают, здесь ещё посмотрите
lacrimosa от 5 мая 2016 06:15
Как обратно закодировать файл?
Dartus от 24 апреля 2016 15:00
Понятно) Спасибо. Жаль, что нет другого решения, как вместить, значит придется делить частями на новости или статичные страницы)
dle9.com от 24 апреля 2016 06:45
Цитата: Dartus
Странно от сюда копируется вся новость или до картинки викинга или, когда перекопировываешь до графы музыка.
Внимание! У Вас нет прав для просмотра скрытого текста.


И раньше, когда занимался аниме, то по 300 серий на 3 файловых обменика не выходило. Выходило 1 или 2 а потом обрезание всей новости.
Мне тогда подсказали что надо поправиться в количестве символов в движке, и вроде все ссылки вмещались.

Так что весь текст точно не вмещается просто это трудно сделать. Но при желании множества ссылок, можно. Так как поместить все что нужно? А то в предпросмотре все видно, а после сохранения текст обрезается. Пользуюсь редактором захвата LiveEditor (WYSIWYG)


такое встречал для статичных страниц , но дела не в настройках движка, а в том что база данных не резиновая, и для этого можно использовать функцию разбивка новости на страницы
Dartus от 24 апреля 2016 03:24
Странно от сюда копируется вся новость или до картинки викинга или, когда перекопировываешь до графы музыка.
Внимание! У Вас нет прав для просмотра скрытого текста.


И раньше, когда занимался аниме, то по 300 серий на 3 файловых обменика не выходило. Выходило 1 или 2 а потом обрезание всей новости.
Мне тогда подсказали что надо поправиться в количестве символов в движке, и вроде все ссылки вмещались.

Так что весь текст точно не вмещается просто это трудно сделать. Но при желании множества ссылок, можно. Так как поместить все что нужно? А то в предпросмотре все видно, а после сохранения текст обрезается. Пользуюсь редактором захвата LiveEditor (WYSIWYG)
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent