Crisis2010
Активный участник
- Баллы
- 68
- Имя в Minecraft
- Crisis2010
Здравствуйте, такая проблема, был раньше лаунчер, он читает какой то странный хеш
Пример:
8c823d94c71d3e1a19d2a4824d8e4108e63a9c5afafb9d43df0ec094ad7b633a82e4c04d9b0987919fbc6f069d41dc9018b40b1c6e5f4247f89ef32bddc29646057872067462
хеш который используется в данный момент
А вот хеш который принимает лаунчер от "Сашка":
d9075cf27fab8f02bb24e8e87ac442f5
Может кто прикрутить чтение хеша к лаунчеру от "Сашка" ?
То что выше это функции и авторизация из старого лаунчера, а вот куда нужно прикрутить:
Помогите, а то я пытался и не получилась, я в этом не слишком силён.
Пример:
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
Не поместились в тему, слишком много букв.
Не поместились в тему, слишком много букв.
Помогите, а то я пытался и не получилась, я в этом не слишком силён.