Advertisement
plas71k

@icon80 => PHP LockIt File => Decoded

Feb 27th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 12.92 KB | None | 0 0
  1. <?php
  2. /*
  3. * @ Pirate-Sky Crew :: PHP Decoder v2
  4. * @ Author: pLa$71k
  5. * @ Web: http://pirate-sky.com
  6. * @ Pirate-Sky Crew © 2008 - 2013
  7. */
  8.  
  9. if (!defined('DATALIFEENGINE')) {
  10.     die("Hacking attempt!");
  11. }
  12. define('DINITVERSION', "9096");
  13. require_once(ENGINE_DIR . '/data/config.php');
  14. require_once(ENGINE_DIR . '/classes/mysql.php');
  15. require_once(ENGINE_DIR . '/data/dbconfig.php');
  16. require_once(ENGINE_DIR . '/inc/include/functions.inc.php');
  17. function send_activation($query, $others = '')
  18. {
  19.     $host = 'dle-news.ru';
  20.     $path = '/extras/activate2009.php';
  21.     $post = "POST $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n{$others}User-Agent: Mozilla 4.0\r\nContent-length: " . strlen($query) . "\r\nConnection: close\r\n\r\n$query";
  22.     $h    = @fsockopen($host, 80, $errno, $errstr, 10);
  23.     if (!$h) {
  24.         return "-1";
  25.     } else {
  26.         fwrite($h, $post);
  27.         for ($a = 0, $r = ''; !$a;) {
  28.             $b = fread($h, 8192);
  29.             $r .= $b;
  30.             $a = (($b == '') ? 1 : 0);
  31.         }
  32.         fclose($h);
  33.     }
  34.     if (stristr($r, "antw:activated"))
  35.         return "1";
  36.     if (stristr($r, "antw:denied"))
  37.         return "0";
  38.     return "-1";
  39. }
  40. function get_domen_hash()
  41. {
  42.     $domen_md5 = explode('.', $_SERVER['HTTP_HOST']);
  43.     $count_key = count($domen_md5) - 1;
  44.     unset($domen_md5[$count_key]);
  45.     if (end($domen_md5) == "com" or end($domen_md5) == "net")
  46.         $count_key--;
  47.     $domen_md5 = $domen_md5[$count_key - 1];
  48.     $domen_md5 = md5(md5($domen_md5 . "780918"));
  49.     return $domen_md5;
  50. }
  51. function dle_activation($key, $domen_md5, $config, $offline = false)
  52. {
  53.     include(ROOT_DIR . '/language/' . $config['langs'] . '/adminpanel.lng');
  54.     $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
  55.     $domain            = urlencode(strip_tags($_SERVER['HTTP_HOST']));
  56.     $key               = trim(strip_tags($key));
  57.     if ($offline) {
  58.         if ($key == md5($domen_md5 . DINITVERSION)) {
  59.             $buffer = "1";
  60.         } else {
  61.             $buffer = "-2";
  62.         }
  63.     } else {
  64.         if (strlen($key) == 32) {
  65.             $buffer = "-3";
  66.         } else {
  67.             $buffer = send_activation("domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . $config['version_id']);
  68.         }
  69.     }
  70.     switch ($buffer) {
  71.         case "-3":
  72.             $buffer = $lang['trial_act6'] . " " . $lang['key_format'] . "<b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>";
  73.             break;
  74.         case "-2":
  75.             $buffer = $lang['trial_act5'];
  76.             break;
  77.         case "-1":
  78.             $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=" . $config['version_id'] . "\" target=\"_blank\">" . $lang['get_key'] . "</a> " . $lang['key_activation'];
  79.             $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>";
  80.             break;
  81.         case "0":
  82.             $buffer = $lang['trial_act2'];
  83.             break;
  84.         case "1":
  85.             $config['key'] = md5($domen_md5 . DINITVERSION);
  86.             $handler       = fopen(ENGINE_DIR . '/data/config.php', "w");
  87.             fwrite($handler, "<?PHP nn//System Configurations\n\n\$config = array (\n\n");
  88.             foreach ($config as $name => $value) {
  89.                 fwrite($handler, "'{$name}' => \"{$value}\",\n\n");
  90.             }
  91.             fwrite($handler, ");\n\n?>");
  92.             fclose($handler);
  93.             $buffer = $lang['trial_act3'];
  94.             break;
  95.         default:
  96.             $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=" . $config['version_id'] . "\" >" . $lang['get_key'] . "</a> " . $lang['key_activation'];
  97.     }
  98.     @header("Content-type: text/html; charset=" . $config['charset']);
  99.     echo $buffer;
  100.     die();
  101. }
  102. $domen_md5 = get_domen_hash();
  103. $lic_tr    = true;
  104. if ($_REQUEST['activation'] == "yes") {
  105.     if ($_REQUEST['dle_key'])
  106.         dle_activation($_REQUEST['dle_key'], $domen_md5, $config);
  107.     else
  108.         dle_activation($_REQUEST['site_code'], $domen_md5, $config, true);
  109.     exit();
  110. }
  111. $auto_detect_config = false;
  112. $domen_md5          = md5($domen_md5 . DINITVERSION);
  113. if ($domen_md5 == $config['key'])
  114.     $lic_tr = false;
  115. if ($config['http_home_url'] == "") {
  116.     $config['http_home_url'] = explode($config['admin_path'], $_SERVER['PHP_SELF']);
  117.     $config['http_home_url'] = reset($config['http_home_url']);
  118.     $config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
  119.     $auto_detect_config      = true;
  120. }
  121. $selected_language = $config['langs'];
  122. if (isset($_POST['selected_language'])) {
  123.     $_POST['selected_language'] = totranslit($_POST['selected_language'], false, false);
  124.     if ($_POST['selected_language'] != "" AND @is_dir(ROOT_DIR . '/language/' . $_POST['selected_language'])) {
  125.         $selected_language = $_POST['selected_language'];
  126.         set_cookie("selected_language", $selected_language, 365);
  127.     }
  128. } elseif (isset($_COOKIE['selected_language'])) {
  129.     $_COOKIE['selected_language'] = totranslit($_COOKIE['selected_language'], false, false);
  130.     if ($_COOKIE['selected_language'] != "" AND @is_dir(ROOT_DIR . '/language/' . $_COOKIE['selected_language'])) {
  131.         $selected_language = $_COOKIE['selected_language'];
  132.     }
  133. }
  134. if (file_exists(ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng')) {
  135.     require_once(ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng');
  136. } else
  137.     die("Language file not found");
  138. $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
  139. check_xss();
  140. $Timer = new microTimer();
  141. $Timer->start();
  142. $is_loged_in   = FALSE;
  143. $member_id     = array();
  144. $result        = "";
  145. $username      = "";
  146. $cmd5_password = "";
  147. $allow_login   = false;
  148. $check_log     = false;
  149. $js_array      = array();
  150. $PHP_SELF      = $_SERVER['PHP_SELF'];
  151. $_IP           = $db->safesql($_SERVER['REMOTE_ADDR']);
  152. $_TIME         = time() + ($config['date_adjust'] * 60);
  153. require_once(ENGINE_DIR . '/skins/default.skin.php');
  154. if (isset($_POST['action']))
  155.     $action = $_POST['action'];
  156. else
  157.     $action = $_GET['action'];
  158. if (isset($_POST['mod']))
  159.     $mod = $_POST['mod'];
  160. else
  161.     $mod = $_GET['mod'];
  162. $mod    = totranslit($mod, true, false);
  163. $action = totranslit($action, false, false);
  164. if (($mod != "editnews" and $mod != "main" and $mod != "") and $lic_tr) {
  165.     $row            = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post");
  166.     $stats_news     = $row['count'];
  167.     $row            = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_comments");
  168.     $count_comments = $row['count'];
  169.     if ($stats_news > 100)
  170.         msg("info", "error", $lang['trial_limit']);
  171.     if ($count_comments > 200)
  172.         msg("info", "error", $lang['trial_limit']);
  173. }
  174. $user_group = get_vars("usergroup");
  175. if (!$user_group) {
  176.     $user_group = array();
  177.     $db->query("SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC");
  178.     while ($row = $db->get_row()) {
  179.         $user_group[$row['id']] = array();
  180.         foreach ($row as $key => $value) {
  181.             $user_group[$row['id']][$key] = stripslashes($value);
  182.         }
  183.     }
  184.     set_vars("usergroup", $user_group);
  185.     $db->free();
  186. }
  187. $cat_info = get_vars("category");
  188. if (!is_array($cat_info)) {
  189.     $cat_info = array();
  190.     $db->query("SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC");
  191.     while ($row = $db->get_row()) {
  192.         $cat_info[$row['id']] = array();
  193.         foreach ($row as $key => $value) {
  194.             $cat_info[$row['id']][$key] = stripslashes($value);
  195.         }
  196.     }
  197.     set_vars("category", $cat_info);
  198.     $db->free();
  199. }
  200. if (count($cat_info)) {
  201.     foreach ($cat_info as $key) {
  202.         $cat[$key['id']]          = $key['name'];
  203.         $cat_parentid[$key['id']] = $key['parentid'];
  204.     }
  205. }
  206. if ($_REQUEST['action'] == "logout") {
  207.     set_cookie("dle_user_id", "", 0);
  208.     set_cookie("dle_name", "", 0);
  209.     set_cookie("dle_password", "", 0);
  210.     set_cookie("dle_skin", "", 0);
  211.     set_cookie("dle_newpm", "", 0);
  212.     set_cookie("dle_hash", "", 0);
  213.     set_cookie("dle_compl", "", 0);
  214.     set_cookie(session_name(), "", 0);
  215.     @session_unset();
  216.     @session_destroy();
  217.     if ($config['extra_login'])
  218.         auth();
  219.     msg("info", $lang['index_msge'], $lang['index_exit']);
  220. }
  221. $allow_login = true;
  222. if ($config['login_log'])
  223.     $allow_login = check_allow_login($_IP, $config['login_log']);
  224. if (!$allow_login)
  225.     msg("info", $lang['index_msge'], $lang['login_err_2']);
  226. if ($allow_login) {
  227.     if ($config['extra_login']) {
  228.         if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']))
  229.             auth();
  230.         $username      = $_SERVER['PHP_AUTH_USER'];
  231.         $cmd5_password = md5($_SERVER['PHP_AUTH_PW']);
  232.         $post          = true;
  233.         $check_log     = true;
  234.     } elseif (intval($_SESSION['dle_user_id']) > 0 AND $_SESSION['dle_password']) {
  235.         $username      = $_SESSION['dle_user_id'];
  236.         $cmd5_password = $_SESSION['dle_password'];
  237.         $post          = false;
  238.         if (!$_SESSION['check_log'])
  239.             $check_log = true;
  240.     } elseif (intval($_COOKIE['dle_user_id']) > 0 AND $_COOKIE['dle_password']) {
  241.         $username      = $_COOKIE['dle_user_id'];
  242.         $cmd5_password = $_COOKIE['dle_password'];
  243.         $post          = false;
  244.         $check_log     = true;
  245.     }
  246.     if ($_REQUEST['subaction'] == 'dologin') {
  247.         $username      = $_POST['username'];
  248.         $cmd5_password = md5($_POST['password']);
  249.         $post          = true;
  250.         $check_log     = true;
  251.     }
  252. }
  253. if (check_login($username, $cmd5_password, $post, $check_log)) {
  254.     $is_loged_in    = true;
  255.     $dle_login_hash = md5($_SERVER['HTTP_HOST'] . $member_id['user_id'] . sha1($cmd5_password) . $config['key'] . date("Ymd"));
  256.     if (!$_SESSION['dle_user_id'] and $_COOKIE['dle_user_id']) {
  257.         $_SESSION['dle_user_id']  = $_COOKIE['dle_user_id'];
  258.         $_SESSION['dle_password'] = $_COOKIE['dle_password'];
  259.     }
  260. } else {
  261.     $dle_login_hash = "";
  262.     if ($_REQUEST['subaction'] == 'dologin') {
  263.         $result = "<font color=red>" . $lang['index_errpass'] . "</font>";
  264.     } else
  265.         $result = "";
  266.     if ($config['extra_login'])
  267.         auth();
  268.     $is_loged_in = false;
  269. }
  270. if ($is_loged_in and !$_SESSION['dle_xtra'] and $config['extra_login']) {
  271.     $_SESSION['dle_xtra']  = true;
  272.     $_REQUEST['subaction'] = 'dologin';
  273. }
  274. if ($is_loged_in and $_REQUEST['subaction'] == 'dologin') {
  275.     $_SESSION['dle_user_id']  = $member_id['user_id'];
  276.     $_SESSION['dle_password'] = $cmd5_password;
  277.     if (intval($_POST['login_not_save'])) {
  278.         set_cookie("dle_user_id", "", 0);
  279.         set_cookie("dle_password", "", 0);
  280.     } else {
  281.         set_cookie("dle_user_id", $member_id['user_id'], 365);
  282.         set_cookie("dle_password", $cmd5_password, 365);
  283.     }
  284.     $time_now = time() + ($config['date_adjust'] * 60);
  285.     if ($config['login_log'])
  286.         $db->query("DELETE FROM " . PREFIX . "_login_log WHERE ip = '{$_IP}'");
  287.     if ($config['log_hash']) {
  288.         $salt = "abchefghjkmnpqrstuvwxyz0123456789";
  289.         $hash = '';
  290.         srand(( double ) microtime() * 1000000);
  291.         for ($i = 0; $i < 9; $i++) {
  292.             $hash .= $salt{rand(0, 33)};
  293.         }
  294.         $hash = md5($hash);
  295.         set_cookie("dle_hash", $hash, 365);
  296.         $_COOKIE['dle_hash'] = $hash;
  297.         $member_id['hash']   = $hash;
  298.         $db->query("UPDATE " . USERPREFIX . "_users set hash='" . $hash . "', lastdate='{$time_now}', logged_ip='" . $_IP . "' WHERE user_id='{$member_id['user_id']}'");
  299.     } else
  300.         $db->query("UPDATE " . USERPREFIX . "_users set lastdate='{$time_now}', logged_ip='" . $_IP . "' WHERE user_id='{$member_id['user_id']}'");
  301. }
  302. if ($is_loged_in and $config['log_hash'] and (($_COOKIE['dle_hash'] != $member_id['hash']) or ($member_id['hash'] == ""))) {
  303.     $is_loged_in = FALSE;
  304. }
  305. if ($is_loged_in and $config['ip_control'] == '1' and !check_netz($member_id['logged_ip'], $_IP) and $_REQUEST['subaction'] != 'dologin')
  306.     $is_loged_in = FALSE;
  307. if (!$is_loged_in) {
  308.     $member_id = array();
  309.     set_cookie("dle_user_id", "", 0);
  310.     set_cookie("dle_name", "", 0);
  311.     set_cookie("dle_password", "", 0);
  312.     set_cookie("dle_hash", "", 0);
  313.     set_cookie("dle_compl", "", 0);
  314.     $_SESSION['dle_user_id']  = 0;
  315.     $_SESSION['dle_password'] = "";
  316.     $_SESSION['check_log']    = 0;
  317.     if ($config['extra_login'])
  318.         auth();
  319. }
  320. if ($is_loged_in)
  321.     define('LOGGED_IN', $is_loged_in);
  322. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement