DLE Nulled

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

Для многих это возможность быть уверенным в защите от шеллов своего сайта, ведь не секрет, что большинство используют на своем ресурсе нуллед движка 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
Рубрика: Все для DLE » Разная информация
Ранее » Стол заказов« Далее Игровой клуб Play-Vulkanstavka Press Release
Добавление комментарияОставить комментарий
  • № :82
  • 8 декабря 2016 21:40
Цитата: dle9.com
Цитата: Lexxs
В 11.1 было без проблем, нулед проходил и всё работало корректно.
init от него же не подойдёт ?

пробовал как-то на версии 10.3 ставить от 10.4 инит нулед, движок работал, хотя лучше так не делать

там не сильно код меняется, поэтому от 11.1 подойдет, а вообще надо сравнивать и смотреть, что там изменилось

Я просмотрел, много что изменилось.
Добавилось много строк из-за двухфакторной авторизации,
хотя по мне, так это не нужная опция, равносильна обычному способу с подтверждением емейл.
Лучше бы на смс сообщениях было, как в соцсетях,
но это невозможно без договора с операторами.
  • № :81
  • 8 декабря 2016 21:05
Цитата: Lexxs
В 11.1 было без проблем, нулед проходил и всё работало корректно.
init от него же не подойдёт ?

пробовал как-то на версии 10.3 ставить от 10.4 инит нулед, движок работал, хотя лучше так не делать

там не сильно код меняется, поэтому от 11.1 подойдет, а вообще надо сравнивать и смотреть, что там изменилось
  • № :80
  • 8 декабря 2016 20:55
Цитата: dle9.com

на том же хостинге настоящую лицензию проверяли, есть вероятность что настройки хостинга могут влиять, кеш браузера ?

Хостинг один и тот же, bget, один сайт с купленной лицензией, другой тестовый, с нулледом пользую.

а dle 11.1 проблем не было ??? можно попробовать от него инит нулленный попробовать, тогда можно узнать в инит проблема или нет

В 11.1 было без проблем, нулед проходил и всё работало корректно.
init от него же не подойдёт ?

А ещё вспомнил проблема в кеше браузера была ещё, она сохраняется и не дает потом нормально авторизоваться.

Попробуйте другой браузер..

Видимо кеш, с другого браузера слёт прекратился.

Видимо активировать лучше ключём, потому что нулл инструкция от версии 11.1 не подходит уже и где то запись остаётся, потом начинается глюки с авторизацией.

В результате что сделал.
1. Сделал активацию ключём, вписав его в файл config
2. Перезалил все папки и файлы из engine по новой, файлами без нулла, т.е исходники.
3. Проверил работу сайта, всё нормально.
4. Залил нулленый init, перезаписав кодированный.

Итог: Всё вроде бы работает, ничего не слетает.
  • № :79
  • 8 декабря 2016 20:10
Цитата: Lexxs
Цитата: dle9.com

а с помощью ключа не пробовали ???
http://www.dle9.com/moduli/besplatnye-moduli/3700-onlayn-keygen-dlya-dle.html


Да, залил исходный инит и активировал ключём,
но проблема не исчезла, авторизация слетает, но с некоторыми поправками.
Теперь при обновлении страницы не слетает,
а при переходе на другую слетает.

Главное то, что перед этим устанавливал не другой домен настоящую лицензию,
там такой проблемы совсем нет, ничего не слетает.

на том же хостинге настоящую лицензию проверяли, есть вероятность что настройки хостинга могут влиять, кеш браузера ?

а dle 11.1 проблем не было ??? можно попробовать от него инит нулленный попробовать, тогда можно узнать в инит проблема или нет

А ещё вспомнил проблема в кеше браузера была ещё, она сохраняется и не дает потом нормально авторизоваться.

Попробуйте другой браузер..
  • № :78
  • 8 декабря 2016 20:02
Цитата: dle9.com

а с помощью ключа не пробовали ???
http://www.dle9.com/moduli/besplatnye-moduli/3700-onlayn-keygen-dlya-dle.html


Да, залил исходный инит и активировал ключём,
но проблема не исчезла, авторизация слетает, но с некоторыми поправками.
Теперь при обновлении страницы не слетает,
а при переходе на другую слетает.

Главное то, что перед этим устанавливал не другой домен настоящую лицензию,
там такой проблемы совсем нет, ничего не слетает.
  • № :77
  • 8 декабря 2016 19:18
Цитата: Lexxs
Ещё думаю, что проблема с двухфакторной авторизацией, которая работает не корректно.

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

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

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

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

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

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

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

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

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

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

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

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

2.
Внимание! У вас нет прав для просмотра скрытого текста.
Отключил в админпанели (с грехом пополам) сброс авторизации при смене IP у пользователей, имеющих доступ в эту самую админпанель (т.н. "средний уровень") и выкидывать перестало.
  • № :71
  • 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', '>=')) {


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

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

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

если ошибка PHP не появится после удаление, можно удалять... это вроде как проверка кода активации в /data/config.php и сообщения об ошибке, что движок активирован или ведите код XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
  • № :66
  • 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 = "";


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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


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

Так что весь текст точно не вмещается просто это трудно сделать. Но при желании множества ссылок, можно. Так как поместить все что нужно? А то в предпросмотре все видно, а после сохранения текст обрезается. Пользуюсь редактором захвата LiveEditor (WYSIWYG)
  • № :57
  • 23 апреля 2016 22:15
Цитата: Dartus
Понятно) обычно даже от одного пользователя сообщения склеиваться.
Про краткую там команда в числе символов прямо в коде шаблона можно ставить, я про полную которую вроде только в движке изменить можно.

нет такой настройки для полной новости, если стоит тег {full-story} в файле шаблона fullstory.tpl будет выводится абсолютно всё, если стоит тег {full-story limit="x"} сокращается до указанного X количества символов. Такой же тег используется и для краткой новости, только {short-story limit="x"}

Всё у вас вроде да вроде, может освежить память и пройти по документации в архиве движка/Documentation/readme.chm, вряд ли это займет много времени раз многие вещи знакомы.
  • № :56
  • 23 апреля 2016 20:52
Понятно) обычно даже от одного пользователя сообщения склеиваться.
Про краткую там команда в числе символов прямо в коде шаблона можно ставить, я про полную которую вроде только в движке изменить можно.
  • № :55
  • 23 апреля 2016 17:45
Цитата: Dartus
И еще 1 вопрос. Когда то я помню можно было в движке увеличивать о бьем текста в символах. Какой это файл, а то некоторые статьй обрезаются и неполные.
И что примерно какая строка в файле.
Спасибо smile

зависит от того где ...в полной новости в категория, в краткой и т.д.
  • № :54
  • 23 апреля 2016 17:44
Цитата: Dartus
"текст в "водяной знак"
Да кстати, у вас отключена функция редактировать комментарий

знаю что обрезаются, так и задумано, прежде чем оправлять надо проверить что вы написали
  • № :53
  • 23 апреля 2016 17:09
И еще 1 вопрос. Когда то я помню можно было в движке увеличивать о бьем текста в символах. Какой это файл, а то некоторые статьй обрезаются и неполные.
И что примерно какая строка в файле.
Спасибо smile