Актуальный релиз „DataLife Engine 21.0 Final“ buildid 103

подробнее о релизе

Главная страница / DataLife Engine / Скрипты и другая информация / Про способы создания nulled версии DLE и стучалки

Про способы создания nulled версии DLE и стучалки

20 сентября 2026 | 10:10 | Воскресенье
10
0
[ Рейтинг: 0 / Голосов: 0 ]
Про способы создания nulled версии DLE и стучалки

Больше 5 лет назад писал инструкцию на форумах как создать самому nulled DLE из чистой оригинальной версии DLE. Решил старую статью скопировать ещё и в блог, чтоб статья была больше для архива, а так же для понимания остальным, к чему сводится создание nulled datalife engine и развеять миф, о так называемых «стучалках» к серверам разработчиков об использовании CMS без лицензии или nulled.

Что скачать про «стучалки» которые могут слить данные, так это то, что по сути их всего 2:

  1. Одно обращение к серверам разработчика идёт при активации скрипта. Т.е. вы вводите на главной странице админки DLE ключ формата «XXXXX–XXXXX–XXXXX–XXXXX–XXXXX», после нажатия АКТИВИРОВАТЬ, происходит обращение по адресу http://dle-news.ru/extras/activate2009.php?, где идёт проверка лицензии, срок лицензии, и версии, на которой DLE может может быть активирован, данным ключём. Т.е. если вы не продляли ключ, и купили его для версии ещё, например, DLE 10.0, то вы не сможете активировать им версию DLE 21.0, т. к. в период вашей лицензии вышло всего 2-3 релиза, которые могут быть активированы. С офф сайта про активацию:

    Каким образом происходит активация скрипта?
    Для активации скрипта и снятия всех ограничений вы должны ввести свой лицензионный ключ в админпанели скрипта вашего сайта на главной странице, в котором есть поле для ввода ключа. Именно на главной странице админпанели, т. е. на странице http://вашсайт.ru/admin.php без каких-либо дополнительных параметров в браузере. Лицензионный ключ имеет формат XXXXX–XXXXX–XXXXX–XXXXX–XXXXX, после ввода ключа скрипт автоматически обращается на сайт dle-news.ru для активации. В случае если на вашем сервере отсутствует интернет и автоматическая активация не может быть произведена, вы получите инструкции по ручной активации скрипта, следуя ей вы сможете активировать скрипт не имея на сервере возможности удаленного подключения к нашему серверу. Активация скрипта производится только после чистой установки скрипта или после обновления на новую версию, после активации вся информация о активации хранится локально на вашем сервере и скрипт на сайт dle-news.ru не обращается.

  2. Второе, это проверка актуальной версии DLE. Здесь идёт обращение к серверу разработчика по адресу http://dle210/index.php?controller=ajax&mod=updates&versionid=21.0&user_hash=****&build=103&_=***. где, как видно, передается версия DLE (21.0), и build (103). При проверке последней версии DLE нет даже проверки лицензии на домен, с которого идёт проверка. Но и тут многие советуют не использовать эту проверку наличия обновлений, и выключают её, чтоб «шаловливые ручки» не нажимали случайно на эту кнопку.

Вот и всё из того, когда к серверам разработчиков идут обращения. И только в первом случае, при активации лицензии ключом — идёт проверка приобретенной лицензии на домен.


Теперь сам способ создания DLE nulled любой версии. Инструкция будет с примером для старой версии DLE, т. к. просто лень делать это всё заново. А актуальные варианты активации последних версий DLE всегда доступны в моих релизах DLE. Далее копипаст старого моего текста с форума 🙂.


Вариант 1

!!! В данном варианте нужно искать фнукции именно по запросам, например, "function send_activation"... Сами функции часто переписывают от версии к версии, поэтому сторого соответсвия может и не быть. Но функции эти есть во всех релизах. И ещё, некоторые функции перенесены из файла engine\inc\include\init.php в engine/inc/include/functions.inc.php, поэтому, если функции нет в init.php, то ищите её в functions.inc.php.
*****************************************
[*]Открываем файл init.php (..\engine\inc\include\init.php) — этот файл обфусцирован ByteRun Protector for PHP. Начиная с версии DLE 13.0 данный файл уже раскодирован, и этот пункт не актулен, для версий начиная с 13.0 и выше!
[*]Чтобы его его деобфусцировать (раскодировать в читабельный вид)ь можно воспользоваться http://www.unphp.net/ - The Online PHP Decode.
[*]Деобфусцированный код вставляем в 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;
?>
Ну вот и всё, проделав эти небольшие изменения с лицензионным DataLafe Engine мы получим полнофункциональную зануленную версию DLE.

Вариант 2

Открываем файл: engine/inc/include/functions.inc.php
Находим:
Код:
function send_activation( $query ) {
    $data = http_get_contents("http://dle-news.ru/extras/activate2009.php?".$query);
    if( $data !== false ) {
        if( stripos( $data, "antw:activated" ) !== false ) return "1";
       elseif( stripos( $data, "antw:denied;expires" ) !== false ) return "-4";
        elseif( stripos( $data, "antw:denied" ) !== false ) return "0";
    }
    return "-1";
}
Меняем значения проверок: (где return "значение")
Это:
Код:
elseif( stripos( $data, "antw:denied;expires" ) !== false ) return "-4";
на :
Код:
elseif( stripos( $data, "antw:denied;expires" ) !== false ) return "1";
и Вот это:
Код:
elseif( stripos( $data, "antw:denied" ) !== false ) return "0";
на:
Код:
elseif( stripos( $data, "antw:denied" ) !== false ) return "1";
Сохраняем файл. Теперь при вводе любого ключа в формате XXXXX-XXXXX-XXXXX-XXXXX-XXXXX в Админ Панеле будет произведена успешная активация скрипта.

Первый способ проверен и работает 100%, ниже плагин создан именно по его инструкции. Второй вариант был замечен на одном из сайтов, и его работоспособность не проверялась. Какой вариант использовать — решать вам. Но проще воспользоваться кейгеном, и прописать ключик в engine/data/config.php.

Источник: 🔗

Комментарии:
ℹ️
 

Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2026 | Карта сайта