Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Настройка лаунчера от "Сашка"

Тема в разделе "[Архив] Помощь", создана пользователем Crisis2010, 4 июн 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Crisis2010

    Crisis2010 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Crisis2010
    Здравствуйте, такая проблема, был раньше лаунчер, он читает какой то странный хеш
    Пример:
    8c823d94c71d3e1a19d2a4824d8e4108e63a9c5afafb9d43df0ec094ad7b633a82e4c04d9b0987919fbc6f069d41dc9018b40b1c6e5f4247f89ef32bddc29646057872067462
    хеш который используется в данный момент
    А вот хеш который принимает лаунчер от "Сашка":
    d9075cf27fab8f02bb24e8e87ac442f5

    Может кто прикрутить чтение хеша к лаунчеру от "Сашка" ?
    Код:
    <?php
    define('INCLUDE_CHECK',true);
    require_once 'functions.php';
    include ("connect.php");
    $login=$_POST['user'];
    $password=$_POST['password'];
    $ver=$_POST['version'];
     
            if(getGameInfo('launcher') == $ver){
     
                $result = mysql_query("SELECT $db_columnPass FROM $db_table WHERE $db_columnUser='$login'") or die ("Запрос к базе завершился ошибкой."); //извлекаем из базы все данные о пользователе с введенным логином
                    $myrow = mysql_fetch_array($result);
     
                $realPass = $myrow[$db_columnPass];
     
                    if (checkPass($realPass,$password))
                    {
                        $sessid = generateSessionId();
                        $gamebuild=getGameInfo('build');
     
                        mysql_query("UPDATE $db_table SET $db_columnSesId='$sessid' WHERE $db_columnUser = '$login'") or die ("Запрос к базе завершился ошибкой.");
     
                        $dlticket = md5($login);
                        echo $gamebuild.':'.$dlticket.':'.$login.':'.$sessid.':';
                    }
                else {
                    echo "Bad login";
                    }
            }
            else{
                echo 'Old version';
                }
    ?>
    Код:
     <?php
    if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');
     
    function generateSessionId(){
        // generate rand num
        srand(time());
        $randNum = rand(1000000000, 2147483647).rand(1000000000, 2147483647).rand(0,9);
        return $randNum;
    }
     
    function getGameInfo($type){
        include ("connect.php");
        switch($type){
        case 'build':
            $query = mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'latest-game-build'") or die ("Запрос к базе завершился ошибкой."); 
                $resource = mysql_fetch_array($query);
                return $resource[$db_Valuecolumn];
        break;
     
        case 'launcher':
            $query = mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'launcher-version'") or die ("Запрос к базе завершился ошибкой.");
                $resource = mysql_fetch_array($query);
                return $resource[$db_Valuecolumn];
        break;
     
        }
    }
    function regUsers($mode,$rt){
    include ("connect.php");
    $users = mysql_query("SELECT `id` FROM $db_table") or die ("FATAL BASE DATA ERROR");
    if ($mode=="")
    {
    return mysql_num_rows($users);
    }
    elseif ($mode=="regtext")
    {
    $rt=$rt."Всего ".mysql_num_rows($users)." зарегистрированн";
    if (substr(mysql_num_rows($users), strlen(mysql_num_rows($users))-2, 1)=="1")
    {
    $rt=$rt."ых пользователей";
     
    }
    else
    {
    switch (substr(mysql_num_rows($users),strlen(mysql_num_rows($users))-1, 1))
    {
     
    case 1:$rt=$rt."ый пользователь";break;
    case 2:$rt=$rt."ых пользователя";break;
    case 3:$rt=$rt."ых пользователя";break;
    case 4:$rt=$rt."ых пользователя";break;
    case 5:$rt=$rt."ых пользователей";break;
    case 6:$rt=$rt."ых пользователей";break;
    case 7:$rt=$rt."ых пользователей";break;
    case 8:$rt=$rt."ых пользователей";break;
    case 9:$rt=$rt."ых пользователей";break;
    case 0:$rt=$rt."ых пользователей";break;
     
    default:
        $rt=$rt." Ошибка падежа(надо было лучше учится в школе!)";
    }
    }
    return $rt;
    }
    }
     
    function checkPass($realPass,$password){
                if (strlen($realPass) == 32)
                {
                    $cp = md5($password);
                }
                else {
                    if(strpos($realPass,'$SHA$') !== false)
                    {
                        $ar = preg_split("/\\$/",$realPass);
                        $salt = $ar[2];
                        $cp = '$SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
                    }
                    else
                    {
                        $saltPos = (strlen($password) >= strlen($realPass) ? strlen($realPass) : strlen($password));
                        $salt = substr($realPass, $saltPos, 12);
                        $hash = hash('whirlpool', $salt . $password);
                        $cp = substr($hash, 0, $saltPos) . $salt . substr($hash, $saltPos);
                    }
                }
             
                if ($realPass==$cp) {
                    return true;
                }
                else {
                    return false;
                }
    }
    ?>

    То что выше это функции и авторизация из старого лаунчера, а вот куда нужно прикрутить:
    http://yadi.sk/d/KaRgk3rr5UPiE
    Не поместились в тему, слишком много букв.

    Помогите, а то я пытался и не получилась, я в этом не слишком силён.
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Crisis2010

    Crisis2010 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Crisis2010
  4. Serrrgio

    Serrrgio Старожил Пользователь

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    если сегодня не загуляю как вчера, сделаю :)

    напиши мне а ЛС ссылкой на тему, а то потеряется...
     
  5. Автор темы
    Crisis2010

    Crisis2010 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Crisis2010
    Честно говоря, не могу найти где тут ЛС, написал у Вас в профиле.
     
  6. Serrrgio

    Serrrgio Старожил Пользователь

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    вот попробуй
     

    Вложения:

    • launcher.zip
      Размер файла:
      4 КБ
      Просмотров:
      7
  7. Serrrgio

    Serrrgio Старожил Пользователь

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    нужен доступ к фтп сайта и базам, чтоб отдебажить
     
Статус темы:
Закрыта.

Поделиться этой страницей