Совет Решение проблем и список ошибок лаунчера sashok724!

  • Автор темы Автор темы WCRAFT
  • Дата начала Дата начала
Ребят, может кто помочь в скайп, я уже писал выше проблему.
Skype: crysis172
 
@Crisis2010, в пароле какие символы? допускаются только большие и маленькие буквы латинского алфавита и цифры.
 
@Serrrgio,
Я пытался зайти под тестовым аккаунтом,
Логин: test123321
Пароль: 123321
Так пароль выглядит в БД:
f9e30a405355b0d98e87e3ea53837945493cbffd51c53d3af60f640cd179ddf533eac206a29cefc92fc5dd3896b887293320ea716a535bf5a94bbe3565dae80bf531944405c0
 
@Crisis2010, что за CMS?

Вообще, у меня её нету, своя регистрация.
Ещё вроде как с ЛК от буксара осталась.

С прошлого лаунчера всё работает, от maxiчто то там пробовал лаунчер, тоже робит.
 
смущает меня этот хеш
f9e30a405355b0d98e87e3ea53837945493cbffd51c53d3af60f640cd179ddf533eac206a29cefc92fc5dd3896b887293320ea716a535bf5a94bbe3565dae80bf531944405c0
какой там хеш используется, md5?
 
Код:
function hash_md5()
{
    global $postPass;
 
    $cryptPass = false;
    $cryptPass = md5($postPass);
 
    return $cryptPass;
}
Это из auth.php регистрации.
Ох чёрт, сейчас попробовал аккаунт стааарый стаарый, там MD5 через сайт можно крякнуть,
чей то был аккаунт.
Пароль: 21122012
Из БД: 49cdc8fab09dbe14d1c59eb897292f23
авторизация прошла.

У меня какая то странная кодировка в новой реге, однако старый лаунчер почему то её читает, можно как то прикрутить это к данному лаунчеру?
 

Вообщем, я сравнил по базе самые старые пароли(у старых аккаунтов), и у новых, которые созданы в течении дня, так вот вид хеша у них разный, однако лаунчер который у меня стоит в данный момент(не от "Сашки") читает и те, и те.

Мне нужно прикрутить чтение этого хеша для данного лаунчера.
 
@_safok_, сорцы не нужны, кинь уже собранный лаунчер в .jar и логин и пароль для тестов скажи.
 
@_safok_, вот скажи, что ты туда напихал???

читай тут что должно быть в папке клиента, возвращайся когда все сделаешь.
 
@Serrrgio,
Ну что?
Есть идеи как можно сделать?
Вот файлы auth.php и functions.php которые использует старый лаунчер.
Код:
<?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;
            }
}
?>
 
в 2-х словах не расскажешь, нужно сделать как в функции checkPass
если возвращенный из базы хеш пароля имеет размер 32 символа, то использовать md5 если иначе то использовать $SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
что-то типа такого.
 
в 2-х словах не расскажешь, нужно сделать как в функции checkPass
если возвращенный из базы хеш пароля имеет размер 32 символа, то использовать md5 если иначе то использовать $SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
что-то типа такого.
Помоги мне пожалусто:|
 
Назад
Верх