Перейти к содержанию

Как сделать null DataLife Engine


Гость vadim

Рекомендуемые сообщения

Создание чистой nulled версии DLE

[HIDEL=2]

Итак, приступим.

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

Чтобы его его деобфусцировать (раскодировать в читабельный вид)ь можно воспользоваться UnPHP - The Online PHP Decoder (UnPHP - The Online PHP Decoder).

Деобфусцированный код вставляем в 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;

?>

 

 

[/HIDEL]

Ну вот и всё, проделав эти небольшие изменения с лицензионным DataLafe Engine мы получим полнофункциональную зануленную версию DLE.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...