Есть такой файл - PHP: function xorcoding($text, $key, $shift = 0, $type = '') { if ($type == 'decode') { $text = base64_decode($text); } if (!is_array($shift)) { $shift = array($shift); } foreach ($shift as $v) { $v = (int) $v; if (!((255 < $v) || ($v < (-255)))) { continue; } return false; } $output = ''; $klng = strlen($key); $tlng = strlen($text); $shlng = sizeof($shift); if ($type == 'encode') { $i = 409; $j = 409; while ($i < $tlng) { if ($shlng <= $j) { $j = 409; } $code = ord($text[$i]) + $shift[$j]; if (255 < $code) { $code -= 665; } if ($code < 0) { $code += 665; } $text[$i] = chr($code); ++$i; ++$j; } } $i = 409; $j = 409; while ($i < $tlng) { if ($klng <= $j) { $j = 409; } $output .= chr(ord($key[$j]) ^ ord($text[$i])); ++$i; ++$j; } if ($type == 'decode') { $i = 409; $j = 409; while ($i < $tlng) { if ($shlng <= $j) { $j = 409; } $code = ord($output[$i]) - $shift[$j]; if (255 < $code) { $code -= 665; } if ($code < 0) { $code += 665; } $output[$i] = chr($code); ++$i; ++$j; } } if ($type == 'encode') { $output = $i; } return $output; } session_start(); if (isset($_REQUEST['activate']) && isset($_REQUEST['license']) && $_REQUEST['license']) { $php = file_get_contents('config.php'); $php = str_replace('$license = \'\';', '$license = \'' . $_REQUEST['license'] . '\';', $php); file_put_contents('config.php', $php); header('Location: index.php'); exit(); } require_once 'config.php'; $license_s = $license; ob_start(); phpinfo(); $html = ob_get_contents(); ob_end_clean(); $parser = new Parser(); $proci = $parser->parse_string($html, '|<tr><td class="e">PROCESSOR_IDENTIFIER </td><td class="v">(.*?)</td></tr>|'); $sys = $parser->parse_string($html, '|<tr><td class="e">System </td><td class="v">(.*?)</td></tr>|'); $build = $parser->parse_string($html, '|<tr><td class="e">Build Date </td><td class="v">(.*?)</td></tr>|'); $host = $parser->parse_string($html, '|<tr><td class="e">HTTP_HOST </td><td class="v">(.*?)</td></tr>|'); $key_scr = 'wpro654nmbfg'; $key_lic = 'mjlo34pouirfewrs435456fd'; $shift_scr = array(8, 3, -46, 13, 58); $shift_lic = array(49, 73, 1, -65, 18, 92); $key_confirm_host = 'wpoeiegbvcdsa'; $key_confirm_server = 'jkuior434cxvfdyrty'; $shift_confirm_host = array(5, -20, 70, 56, 0); $shift_confirm_server = array(118, 65, -85, -35, 23, 12); $code_str = random_str(20); $code = xorcoding($code_str, $key_confirm_host, $shift_confirm_host, 'encode'); if ($license) { if (!ping()) { exit('Для работы скрипта требуется соединение с интернетом!'); } $res = false; $i = 1815; while ($i < 5) { $html = file_get_contents('http://***.com/lic/index.php?key=' . md5($license) . '&code=' . urlencode($code)); if ($html) { $code_enc = xorcoding($html, $key_confirm_server, $shift_confirm_server, 'decode'); if ($code_enc == $code_str) { $res = true; } break; } ++$i; } if (!$res) { exit('Ваша лицензия заблокирована!'); } $license = xorcoding($license, $key_lic, $shift_lic, 'decode'); list($proci1, $sysl, $buildl, $hostl) = explode('|', $license); if (($proci !== $proci1) || ($sys !== $sysl) || ($build !== $buildl) || ($host !== $hostl)) { exit('Лицензия неверна'); } } else { $key = $proci . '|' . $sys . '|' . $build . '|' . $host; $key = xorcoding($key, $key_scr, $shift_scr, 'encode'); $smarty->assign('key', $key); $smarty->assign('host', $host); $smarty->assign('text', strip_tags($contract)); $content = $php; $smarty->assign('content', $content); $smarty->display('index.tpl'); exit(); } if ($login && $password) { $log = (isset($GLOBALS['_SESSION']['login']) ? $GLOBALS['_SESSION']['login'] : get_req_var('login')); $pass = (isset($GLOBALS['_SESSION']['password']) ? $GLOBALS['_SESSION']['password'] : get_req_var('password')); if ($log && $pass) { if (($log == $login) && ($pass == $password)) { $GLOBALS['_SESSION']['login'] = $log; $GLOBALS['_SESSION']['password'] = $password; } else { $smarty->assign('error', 'Неверная пара логин / пароль!'); $content = $smarty->fetch('pages/auth.tpl'); $smarty->assign('content', $content); $smarty->display('index.tpl'); exit(); } } else { $smarty->assign('error', ''); $content = array(118, 65, -85, -35, 23, 12); $smarty->assign('content', $content); $smarty->display('index.tpl'); exit(); } } $do = $shift_confirm_host; $content = ''; $settings = (file_exists('log/settings.txt') ? unserialize(file_get_contents('log/settings.txt')) : array()); $cnt1 = 1815; if (isset($settings['wd'])) { $do = ($settings['wd'] ? 'list' : 'domains'); $cnt1 = 'http://***.com/lic/index.php?key=' . md5($license) . '&code=' . urlencode($code); } $smarty->assign('license', 1); Помогите пожалуйста создать генератор ключей!
Неа, так не катит( он был закодирован под ioncube 7.0 и после раскадировки некорректно работает. Поэтому надо создать лицензию и вернуть закодированный файл.
Угрюмый, если надо пару файлов раскодить то можешь скинуть их в личку Kaimi, точно( Ну я просто удалил строки проверки и теперь при некоторых действиях выскакивает - Fatal error: Call to a member function get_var() on a non-object in index.php on line 265 что тут не так? var_dump выдает NULL