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 от 8 декабря 2016 19:18
Цитата: Lexxs
Ещё думаю, что проблема с двухфакторной авторизацией, которая работает не корректно.

Может через пхпмуадмин в базе можно отключить её ?
Интересно только, в какой строке.

на офф. сайте в комментариях нет сообщений о такой проблеме, двухфакторную авторизацию тоже лучше отключить, пока что у вас только такая проблема, хоть нулл и ключ не пробовал на денвере версия 11.2 не стала работать.
dle9.com от 8 декабря 2016 19:14
Цитата: Lexxs
Цитата: Lexxs
Ещё думаю, что проблема с двухфакторной авторизацией, которая работает не корректно.

Может через пхпмуадмин в базе можно отключить её ?
Интересно только, в какой строке.

Нашёл уже, в config.php строка, поставил 0 вместо 1, но не помогло.
Авторизация слетает с одного перехода,
но при том, если игнорировать это и продолжать ходить по сайту,
то через несколько ходов выходит ошибка авторизации,
хотя и не думал авторизовываться.

Походу в 11.2 усилили защиту от нулла.

а с помощью ключа не пробовали ???
https://dle9.com/moduli/besplatnye-moduli/3700-onlayn-keygen-dlya-dle.html
Lexxs от 8 декабря 2016 18:44
Цитата: Lexxs
Ещё думаю, что проблема с двухфакторной авторизацией, которая работает не корректно.

Может через пхпмуадмин в базе можно отключить её ?
Интересно только, в какой строке.

Нашёл уже, в config.php строка, поставил 0 вместо 1, но не помогло.
Авторизация слетает с одного перехода,
но при том, если игнорировать это и продолжать ходить по сайту,
то через несколько ходов выходит ошибка авторизации,
хотя и не думал авторизовываться.

Походу в 11.2 усилили защиту от нулла.
Lexxs от 8 декабря 2016 18:14
Ещё думаю, что проблема с двухфакторной авторизацией, которая работает не корректно.

Может через пхпмуадмин в базе можно отключить её ?
Интересно только, в какой строке.
Lexxs от 8 декабря 2016 18:05
1. Есстественно нулл, по здешнему примеру.
Удалял строки, не помогает.
В 11.2 двухфакторная авторизация появилась, в инит.пхп куча кода с этим связано, всё удалять не возможно.

2. Стоит простой уровень изначально, да и IP не меняется никак, в логах смотрел.
Сбрасывается на каждый переход, а не через несколько.

Может для 11.2 нужно новую инструкцию по обнулению ?
Строки то сильно изменились.
dle9.com от 8 декабря 2016 17:36
1. Нелегальная копия скрипта - может быть ...то есть нулл или другое Насчет строки удалите проверку и проверяйте ...

2.
Внимание! У Вас нет прав для просмотра скрытого текста.
Отключил в админпанели (с грехом пополам) сброс авторизации при смене IP у пользователей, имеющих доступ в эту самую админпанель (т.н. "средний уровень") и выкидывать перестало.
Lexxs от 8 декабря 2016 17:09
После обнуления версии 11.2 стала слетать авторизация на сайте при каждом переходе по странице, или её обновлении.
В файле init.php нашёл такие строки:
if (check_login($username, $cmd5_password, $post, $check_log)) {
    $is_loged_in = true;
    if ($post AND password_needs_rehash($member_id['password'], PASSWORD_DEFAULT)) {
        if (version_compare($config['version_id'], '11.2', '>=')) {
            if (strlen($cmd5_password) > 72) $cmd5_password = substr($md5_password, 0, 72);
            $member_id['password'] = password_hash($cmd5_password, PASSWORD_DEFAULT);
            $new_pass_hash = "password='" . $db->safesql($member_id['password']) . "', ";
        } else $new_pass_hash = "";
    } else $new_pass_hash = "";

Где идёт проверка на версию
if (version_compare($config['version_id'], '11.2', '>=')) {


Связано ли слёт авторизации и эти строки ?
Петр от 1 августа 2016 14:52
Большое спасибо за инфу!
dle9.com от 30 июля 2016 22:14
Цитата: 2009bes
Кстати,спасибо за интсрукцию. После нула количество строк в файле 259, в то время когда скачанный нул из интернета имеет 317. не знаю говорит ли ето про что-то, но настораживает

на здоровье. Может не все удалили в скаченном нулле, чтобы понять что и где лучше использовать программу для сравнения текста..к примеру WinMerge, она подсвечивает текст и показывает места изменений
2009bes от 30 июля 2016 17:55
Кстати,спасибо за интсрукцию. После нула количество строк в файле 259, в то время когда скачанный нул из интернета имеет 317. не знаю говорит ли ето про что-то, но настораживает
Добавить комментарий

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

    • 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